西门子模块6ES7231-7PB22-0XA8实体经营
我用PC/PPI CABLE电缆把224XP的波特率修改为187.5K并下装到CPU中,我使用PC/PPI CABLE电缆通讯时就连接不上CPU并提示降低波特率,请问如何把CPU的波特率修改为9.6K
答:出现这个问题是你的通信电缆不支持187.5K的波特率
解决的方法
1,找一根支持187.5的电缆,和PLC连接上后,将系统块的波特率修改
2,用wipeout.exe程序,恢复CPU的出厂设置:
执行程序“wipeout.exe”不仅删除用户程序,会将CPU恢复成缺省设置,即网络地址:2,波特率:9.6K。
注意:wipeout.exe软件不能与USB/PPI电缆配合使用。
用PID引导做的PID程序,量程为0~500,设定值为300,P0.5,I10,d0。具体的表现见附件图片。输出经常出现骤降的现象。如果P值越大,骤降的越厉害。但很小的时候,如0.1的时候也有,但这样就起不到调节的作用了。这个骤降现象不知道是什么情况引起的。
图一:无输入时的输出
图二:PID程序
图三:有输入的时的输出
答:看了楼主的PID调节控制面板,调的也太离谱了呀,呵呵
P值越大,肯定骤降的越厉害,放大的多了就这样。
P=0.5就抖成这样?太邪乎了。
程序是应该在PID被激活的情况下下载,这个楼主知道吧?
对于这些参数其实我也不是很在行,还是调节P和I吧
我把我调的一个图片发上来供楼主参考,希望你赶紧解决问题!!
PID参数的调整经验:
(1)对于比例控制来说,将比例度调到比较大的位置,逐步减小以得到满意的曲线。
(2)对于比例积分来说,先将积分时间无限大,按纯比例作用正定比例度。得到满意曲线后,将比例度放大(10~20)%,将积分时间由大到小加入,直到获得满意曲线。
(3)对于PID控制,先将微分时间置零,按照调比例积分控制方法得到满意取先后将比例度将到比原值小(10~20)%位置,适当减小积分时间后,将微分时间逐渐加大,直到获得满意的曲线。
常用口诀:
参数整定找佳,从小到大顺序查
先是比例后积分,后再把微分加
曲线振荡很频繁,比例度盘要放大
曲线漂浮绕大湾,比例度盘往小扳
曲线偏离回复慢,积分时间往下降
曲线波动周期长,积分时间再加长
曲线振荡频率快,先把微分降下来
动差大来波动慢。微分时间应加长
理想曲线两个波,前高后低4比1
一看二调多分析,调节质量不会低
经验参数:
对于温度系统:P(%)20--60,I(分)3--10,D(分)0.5--3
对于流量系统:P(%)40--100,I(分)0.1--1
对于压力系统:P(%)30--70,I(分)0.4--3
对于液位系统:P(%)20--80,I(分)1--5
①变量V(仅S7-200):在S7-200中,PLC内部变量用英文字母V标记,其作用与内部寄存器类似,可用于寄存PLC程序中间运算结果,但可以使用的数量更多。在PLC程序的执行过程中可以不断对内部变量V的内容进行更新与改变。由于变量V的状态可以由所有的程序块共用,它是一种公共变量(也称共享变量)。
由于S7-200中没有单独的“数据块(DB)”存储区,内部变量V存储器的第1部分被作为数据块DB1使用,它在不同的CPU中大小不等,可以是128~512字节。被作为数据块DB1使用的内部变量V,在PLC装载时可以像PLC程序一样复制到PLC的EEPROM中,而其余的内部变量V则只能保存在CPU的RAM中。
在S7-300/400中,不可以使用内部变量V,而是需要通过数据块DB来存储PLC的中间运算结果。
②局部变量L:PLC内部局部变量用英文字母L标记,其作用与公共变量类似,但它是一种共用的、动态变化的存储区域,其内容与含义随着所执行的逻辑块的不同而改变,它用于寄存仅在逻辑块内部使用的中间运算结果。
局部变量L与公共变量V的区别是:公共变量V在PLC程序中是通用的,即某一程序段或程序块的执行结果可以用于其他的程序段与程序块;而局部变量L的内容却是临时性、不固定的,只有在调用某一逻辑块时,在块的内部才有明确的含义,逻辑块一旦执行完成,其作用随之消失,它随着所执行程序块的不同随时进行更新与改变。
局部变量L的地址范围在理论上为LO.O~L63.7共64个字节,但实际可以使用的一般为LO.O~L59.7共60个字节。
目前西门子S7-300/400系列的PLC的通讯方式开始大量使用工业以太网通讯,MP277/377、xP177B系列触摸屏也集成了以太网接口,这带来一个好处,所有的接口都统一,在网络通讯时采用都以太网接口,所有的设备组成一个局域网,包括上位监控计算机、编程设备、PLC、触摸屏都能很方便地互相访问,需要扩展多一个设备也很方便,只需要加一个交换机就能扩展出多个接口。因为有这些好处,采用以太网通讯越来越流行,下面说一说以太网通讯的其中一个应用,PLC与PLC之
间通过以太网互连。
一、S7-300/400之间互连
1、采用PLC与PLC通过以太网访问,需要增加以太网模块,如CP343-1,CP443-1的模块,或者采用带有PN接口的PLC,如CPU315-2DP/PN的PLC。
2、采用两块CP343-1互连,先在同一个项目里做好两套PLC的硬件组态,分配好IP地址,打开NetPro,选择其中一个PLC,双击连接列表上的空白行,添加一个
S7 conection。选择连接的另一个PLC,记住连接的ID号。通讯双方的其中一个站为Client端,激活“Establishan active connection”的选项(默认是激活的)。这样NetPro的配置就完成了,编译、下载完成
3、打开其中两套PLC的OB1,调用FB12(BSEND)块发送数据,FB13(BRCV)块接收数据,1#PLC的发送对应2#PLC的接收,1#PLC的接收对应2#PLC的发送。
4、调用FB12的时候几个参数的含意,a、REQ,发送开始,上升沿触发发送工作;b、ID,连接ID号,这个ID号是在NetPro组态时生成的ID号;c、R_ID,连接号,相同连接号的FB块互相对应发送/接收数据,这个是由用户编程时定义的,例如1#PLC的FB12的R_ID是DW#16#2,则2#PLC的FB13的R_ID也是DW#16#2,这样才能保证正常接收发送;d、DONE,发送完成,如果REQ端是一个不停的脉冲,正常情况下DONE端也应该也是一个不停的脉冲反馈;e、SD_1,发送的开始地址,以P#x.x byte xxx来表示,f、LEN,发送数据的长度。
5、采用FB12、FB13来进行发送/接收是比较麻烦的,一方面需要两端的以太网模块都支持双边发送,如Cp343-1-Lean就不支持了,另一方面,两边都要写程序,对于增加的系统不太方便,这时可以在NetPro里把One-way(单边通讯,激活后FB12、FB13不能使用)激活,采用FB14(GET)取数据、FB15(PUT)发送数据来做,FB14的参数定义和FB12差不多,只是少了R_ID和LEN,这样更方便一些,还有一个好处,不需要对原有的系统进行什么更改,只需要把单边的PLC组态和程序下载就可以了
6、需要注意的另一个问题是FB和SFB的区别,在S7-400上采用SFB,在S7-300上采用FB,在S7-300集成的PN口上,采用SFB,这个问题曾经折磨过我一两天才解决。
二、WinLC与PLC互连
WinLC是在PC机上的软件PLC,可以把一台PC机当成PLC使用。这样对于不能采用模拟器连接的软件是比较方便的,如采用Intouch、Ifix这些SCADA软件做为上位机软件时,测试是个麻烦的问题,需要与实际机器连接起来才能测试,但如果有WinLC,可以把程序拷到WinLC上运行,上位机软件与WinLC联机测试,省去不少工夫,WinLC对于不方便进行现场测试的环境,是个不错的替代方案。WinLC既然是一套软件PLC,就能够实现PLC的功能,那么与PLC通讯也是可以实现的,
下面说一说WinLC与S7-300互连
1、新建一个项目,建立一个S7-300的站点,硬件组态;建立一个PC站点,在PC站点上增加一个WinLC和一个IEGeneral,IE General的IP地址与PC机的IP地址一致,其实IEGeneral指的就是PC机的以太网卡。
2、打开NetPro,在WinLC上新建一个S7 conection,指向S7-300,编译、存盘
3、在PCStation上增加WinLC和IE General,需要注意槽号要与硬件配置时候一样
3、打开WinLC的OB块,调用SFB14、SFB15来读写S7-300的数据
4、启动WinLC软件,下载程序,这样就可以实现软件PLC与PLC互连了
三、两种方式的结合
如果有多台PLC需要与PC机上的SCADA软件通过OPC进行通讯,又发现SCADA软件读取的速度太慢,不能满足刷新要求,或者数据要做些预处理才能显示,SCADA软件上运行太多的脚本又影响速度,那么通过软PLC把多台PLC的数据先读过来进行预处理,SCADA软件只与一台PLC进行通讯,这样SCADA软件上的工作量会少一些。这个时候把上面说的两种方式结合一下,就能够实现这样的功能了。
1、通讯连接参照上面的方法设置
2、在WinLC的PC站点上添加一个OPC服务器,在NetPro里面打开OPC的连接列表
一套西门子S7-300冗余系统:两只315-2DP,一个ET200M从站(带几只数字量模拟量模块),两个CP342-5,现在做冗余程序,关于OB100调用FC100,里面几个参数不明白,不懂如何设置,
ADR_MODUS:矩阵该怎么设置
PAA_FIRST、PAA_LAST:输出数字量是0……1,输出模拟量是272……279,
MB_NO、MB_LEN:该冗余数据区,是不是冗余程序里数值型数据地址要在该范围里面
DB_NO、DB_LEN:不用M冗余区将上面两个改为0,用DB区可以吧
DB_A_B_NO、DB_B_A_NO:该非冗余数据块有必要设置吗
这个系统就是主站故障切换到备用站,哪些部分编程冗余程序和哪些部分非冗余程序?
需要在OB35块里调用FC1、FC2吗?
答:ADR_MODUS:矩阵该怎么设置——直接设置为1即可
PAA_FIRST、PAA_LAST:输出数字量是0……1,输出模拟量是272……279,——要组态连续的输出地址,比如输出数字量是0……1,输出模拟量是2……9,这样就可以设置PAA_FIRST=0,PAA_LAST=9
MB_NO、MB_LEN:该冗余数据区,是不是冗余程序里数值型数据地址要在该范围里面——要冗余的M区数据,根据需要设定
DB_NO、DB_LEN:不用M冗余区将上面两个改为0,用DB区可以吧——可以
DB_A_B_NO、DB_B_A_NO:该非冗余数据块有必要设置吗——根据需要
这个系统就是主站故障切换到备用站,哪些部分编程冗余程序和哪些部分非冗余程序?——根据手册和例程上的描述,冗余程序修改OB35的程序即可,非冗余程序在外面随便写
需要在OB35块里调用FC1、FC2吗? ——不需要,直接将例程中的程序块拷贝到你的项目中,并编写OB100中的FC100,OB35中的FB101即可
问题反映:一套设备,配备S7-400系统,一台TP270触摸屏放置在操作台上,通过DP/MPI方式传送信息,奇怪的问题是:经常会出现PLC与TP屏无法建立连接,把想到的认为有干扰的地方全部检查,并且想办法进行屏蔽,有时可以解决问题,通讯正常,但不知什么原因又会引发同样的故障,有时候通讯的建立与中断转换频率极快,一会儿连接,一会儿断开。
系统内还有一台直流驱动装置590+,数台Emerson变频器,其余为常规电器,供电系统有TE、PE,互相隔离。
如何彻底解决通讯连接干扰问题呢?
解决方案:可能是调速装置的干扰,或者是接地的问题。接地应严格分开控制地和保护地,控制系统一点接地。
问题反映: 直流调速的影响是会有的,但通讯只是一个点对点的应用,采用原装西门子RS-485插头和6XV1830-0EH10电缆,接地系统已经分开,通讯线的接地是单独做的数据地,PLC系统的机壳与机柜相连(金属机柜,原厂家装配的),供电系统的零、地合一。
问题反映: 严重到找不到S7统计通讯了,
解决方案: S7-400与TP的距离有多远?其线路是否与变频器的线路靠近?变频器与PLC有通信?
问题反映:PLC到TP270直线距离大概有20米,通讯线放电缆槽沟内长度大约有35米,PLC柜紧挨着直流传动柜,直流传动柜旁边是低压柜(内有液压站电机、主电机风机的接触器、保护器,低压开关、微断等,还有几台变频器),所有的电缆都在一个电缆沟里,有较大部分的平行放置;变频器与直流传动均没有与PLC实现网络通信,所有的运行指令及速度值由PLC输出,PLC通过电缆与相关设备连接。
解决方案:变频器和TP通信线是否有屏蔽?变频器的布线和屏蔽如果处理得不好的话,可能会产生很重的干扰。
是否可以试试将TP暂时放PLC旁边,或者临时拉一条通信电缆(不要放电缆沟)。如果没问题的话,说明是干扰的问题。
问题反映:变频器功率不大,5.5Kw,变频器与TP没有通讯。PLC与TP通讯电缆是西门子专用电缆,屏蔽层接数据地线,但这根电缆与多根大电流的电缆平行放置,长度大约15米.
已经将TP放在PLC旁边,没有任何问题的,准备更换一根通讯电缆,远离动力电缆,不知是否有效果。PLC端的RS485总线插头的终端电阻不接,TP端的终端电阻接入。
解决方案:如果只是PLC和TP的点对点通信,双方都应该接入终端电阻。
问题反映:采用了上次提出的方法,两端都接入终端电阻,还频繁地出通讯中断的提示,等大修时间在更换一下动力电缆再看看效果。
通过实验,可以肯定干扰的根本原因是通信电缆与多根大电流的电缆(特别是变频器的输入、输出电缆)平行放置在同一电缆沟内,且距离很近。
这个系统比较简单,只是点对点通信,简单的实验方法就是将两台设备暂时放置在一起,或者临时拉一条通信电缆(不要放电缆沟)。如果干扰消失,肯定是电缆布线引入的干扰。可以用示波器观察RS-485的A、B线对数字地(5针)的波形,如果有强烈干扰,可以看得到干扰信号的波形。