
不带,以西门子的FB42为例,Gain为比例常数,值是0.0-2.0,也就是说0%-200%,下图是它的帮助文件:
一般程序中会用小数表示这个GAIN或者P,比如0.2表示20%等;有的软件的PID功能块比例参数还不是比例值k,是一个叫“比例带”的数值,与比例值是倒数关系,所以在你使用前要认真读一下它的帮助文件或者手册,这是最可靠的办法。
OPN "1排货架数据" //打开DB数据块L DBLG //获得数据块的总长度
L DINT#100 //除以100
/D
L DINT#4
-D //到这里就是数据块总长度除以100减去4,结果存入TEMP1
T #temp1
L P#100.0
LAR1 //AR1中的值为P#100.0
L DINT#635
T %DBD0 //将DINT常数635送入DBD0
L DINT#1150
T %DBD4
L DINT#1315
T #temp3 //将DINT常数1315送入Temp3
L #temp1//将TEMP1的数据作为循环次数
ABL_1: T#temp2
L #temp3
T DBD [ AR1 , P#0.0 ] //将TEMP3的数据送入DBD[AR1+P#0.0],也就是DBD100
L DINT#935
T DBD [ AR1 , P#4.0 ] //DBD104
L DINT#1735
T DBD [ AR1 , P#8.0 ]//DBD108
L DINT#2425
T DBD [ AR1 , P#12.0 ]
L DINT#3235
T DBD [ AR1 , P#16.0 ]
L DINT#3925
T DBD [ AR1 , P#20.0 ] //将3925送入DBD120中,
L #temp3
L DINT#640
+D
T #temp3 //Temp3+640
+AR1 P#100.0 //地址寄存器的值+100,也就是200.0
L #temp2
LOOP ABL_1 //执行循环
程序的作用是将数据填入DB中,第一次DBD100~120,第二次DBD200~220依次类推,循环次数由Temp1决定。
Temp1决定了要填写多少条记录。
可以用以下方法查看:对于S7-200来讲
将PLC通电后,在线查看。系统将提示是否上载程序,选择上载后系统会将程序上载至上位机中,如果有程序的话会在MicroWin中看到PLC中的程序,如果没有则出现空程序。
对于S7-300来讲
程序都是存放在MMC卡中的,将MMC卡插入到CPU中,PLC通电后直在硬件组态中点击CPU右键,在工作存储器中可以查看内存卡使用情况,如果为0%说明没有程序,反之则没有。
如下图:
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)