① 西门子PLC SCL编程指令讲解
在SCL程序编写中,在逻辑控制或者数据处理分析中,有一类指令我们用得最多,就是程序控制指令,常见的入IF ,Case ,For 和While 等。下面我仔细的讲解,有疑问可以留言提出:
图1 程序控制指令
IF .. THEN 指令
IF 指令含有含有三个分支,分别是Then ,Else 和ElsIF。
图2 IF 语句
图3 浮点数比较条件
IF语句应该是SCL里面最常用的语句了,常用于条件判断。判断类型可以是BOOL类型,可以是浮点类型等等,基本上所有类型都可以判断,只要比较的两个变量类型是一样。
在图2中,AByte 是Byte 类型,因为1在0..255之间,所以1会自动转化为Byte类型。如果比较的是Abyte类型是256,会是什么样子呢?读者可以自己写的程序,试验一下,看看结果,会加深你对数据类型的理解。
上面程序中,首先比如AByte是否和1相等,如果相等则Outvalue的值为1,然后和2比较,如果和2相等,那么OuValue值为2,如果都满足条件OuValue 的输出值则为5。
上述的IF条件语句,也可以用CASE语句来进行表示。CASE的比较类型没有IF 范围广,只有整形才能做为比较条件。
CASE指令
图4 IF语句的CASE表达方式
从CASE语句表述中,我们发现语句相对于IF表达式来说,更加清晰简单明了,所以如果需要用到整形条件作为判断,尽量用CASE来实现,会提高效率。
FOR 指令
FOR指令常用来对数组类型数据进行批量处理,在上一期讲解中已经举过一个例子,下面举个稍微复杂点的例子。
图5 FOR循环语句
在FOR程序,我们对数组的每一个索引值进行赋值,同时判断索引值的奇偶性来进行赋值操作。
图6 FOR循环语句2
在上面的程序里面,我们发现有一个关键字Continue .当FOR循环执行到该语句的时候,Continue下面的程序都不会执行。所以,当iCout小于15的时候,AArray[iCount]:=iCount赋值语句不会执行。
还有一个地方有点区别,就是FOR 语句后面,多了一个关键字 BY 。BY的含义是For 执行的间隔按照BY的设定来执行。如果后面设定为1,则0..99全部执行;如果设定为2,则执行顺序为0,2,4,6,8的顺序来执行。
上述的FOR循环语句,我们同样可以采用WHILE循环来实现。
WHILE 指令
图7 WHILE指令
WHILE循环的表达方式和FOR循环基本类型,但是我们注意一点,这里面对循环变量,手动进行进行递进。如果没有这一句,iCount的值一直为0,循环条件iCount<100将一直为True,WHILE循环会一直执行。所以切记一定执行该语句。
我们还注意到一个关键字EXIT,当执行到该指令的时候,WHILE循环会停止执行,FOR指令也是一样。所以上面的程序,运行下来的情况是,数组的赋值只执行到AArray[81]结束。
GOTO指令
goto指令主要用来执行跳转过程,可以带来程序操作的便利性,一般不推荐使用。若操作不当,则会打乱整个程序的逻辑性。
在图7 中,如果iCount 大于90,那么,程序就会跳出WHILE 循环执行指定标签lable13地方程序#iCount=0,继续从头开始执行WHILE循环。当然这个操作是毫无意义的,这里只是举个例子而已。
② 西门子PLC S7-200模拟量输入怎么编程
模拟量值和A/D转换值的转换
假设模拟量的标准电信号是A0—Am(如:4—20mA),A/D转换后数值为D0
—Dm(如:*00—32000),设模拟量的标准电信号是A,A/D转换后的相应数值
为D,由于是线性关系,函数关系A=f(D)可以表示为数学方程:
A=(D-D0)×(Am-A0)/(Dm-D0)+A0。
根据该方程式,可以方便地根据D值计算出A值。将该方程式逆变换,得出
函数关系D=f(A)可以表示为数学方程:
D=(A-A0)×(Dm-D0)/(Am-A0)+D0。
具体举一个实例,以S7-200和4—20mA为例,经A/D转换后,我们得到的数值是*00—32000,即A0=4,Am=20,D0=*00,Dm=32000,代入公式,得
出:A=(D-*00)×(20-4)/(32000-*00)+4。
假设该模拟量与AIW0对应,则当AIW0的值为12800时,相应的模拟电信号
是*00×16/25600+4=8mA。
③ 西门子plcs7-200 仿真软件怎么用
具体使用方法如下:
1、用S7-200编程软件编写好程序,点击“文件-导出”,然后导出到你需要存放的位置(如电脑桌面),导出来的文件为.awl文件。
④ 求西门子plc200恒压供水编程实例(梯形图)急急急......望高手指点!
恒压供水PLC控制,东莞恒压供水厂家,东莞恒压供水
本机供五台电机,四大一小,其中五号为小泵,只进行变频,不进行工频,但是在手动时可手动工频,四个大泵要进行工频/变频转换。本机,手动和自动控制,相互独立,相互不干扰,东莞自动化公司-精一控自动化公司
本机自动工作流程
正常工作流程
五档:
开机上电后,如果压力低于允许范围(+/- 0.04MPa),开启5#泵变频运行,此时只有5#泵变频运行
一档:
5#泵变频运行时,如果压力低于压力下限(压力设定值-0.04MPa),且变频泵频率达到50HZ,10S后,复位5#号变频,开启1#变频,此时只有1#泵变频运行
二档
1#泵变频运行时,如果压力低于压力下限且变频泵频率达到50HZ后超过10S,复位1#变频,当复位一号变频0.5S后,开启1#工频及开启二号变频(这样做的目的是错开同一台泵变频到工频的转换),此时有一号泵工频,二号泵变变频运行。
三档
当1#工频,2#泵变频运行,压力低于压力下限且变频泵频率达到50HZ后,超过10S,复位2#变频,当复位2#变频0.5S后,开启2#工频及开启3#变频,此时1,2#泵工频,三号泵变频运行
四档
当1#,2#工频,3#变频运行时,压力低于压力下限且变频泵频率达到50HZ后,超过10S,复位3#变频0.5S后,开启四号变频,此时有1#,2#,3#工频,四号变频运行。
当产生故障时
五档
5#运行时,5#产生故障,此时压力低于下限,变频泵频率达到50HZ后,超过10S
(1)1#泵没有故障转到一号泵变频运行;
(2)当5# -1#泵都有故障,2#泵没有故障时,转到2#变频运行
(3)当5#-1#-2#泵都有故障,3#泵没有故障时,转到3#泵变频运行
(4)当5#-1#-2#-3#泵都有故障时,4#泵没有故障时,转到4#变频运行
一档
当1#泵变频运行时,压力低于压力下限且变频频率为满频50HZ时,超过10S,此时如果2#泵没有故障,复位1#变频,当复位一号变频0.5S,开启2#变频,1#工频此时只由1#工频,2#变频运行
如果2#泵有故障,3#泵没有故障,复位1#泵变频0.5S后,开启3#泵变频及1#泵泵工频,此时1#泵工频,3#泵变频工作
如果2-3#泵都有故障,4#泵没有故障时,复位1#泵变频0.5S后,开起4#泵变频及1#泵工频此时1#泵工频,4#泵变频运行
如果2-3-4#泵都有故障,保持1#泵变频不变此时只有1#泵变频运行
二档
当2#泵变频运行,压力低于压力下限且变频泵频率达到50HZ后,超过10S
(1)3#泵没有故障时,复位2#变频,当复位2#变频0.5S后,开启2#工频及开启3#变频,此时可能
a: 1,2#泵工频,三号泵变频运行
b: 2#泵工频,三号泵变频运行
(2)3#泵有故障,4#泵没有故障时,复位2#变频,当复位二号变频 0.5S后,开启2#工频及开启4#变频,此时可能运行情况
a : : 1,2#泵工频,4号泵变频运行
b : 1#工频,4号泵变频运行
c : 4号泵变频运行
(3)当2-34都有故障时,保持2#泵变频不变,压力低于压力下限且变频泵频率达到50HZ后,超过10S
1#工频没有起动时起动1#工频,压力还不够且2#
工频没有运行时,延时启动2#工频;
三档
当3#变频运行时,压力低于压力下限且变频泵频率达到50HZ后,超过10S,此时
(1)4#泵没有故障时,复位3#变频0.5S后,开启四号变频
(2) 4#泵有故障时,3#变频运行不变,压力低于压力下限且变频泵频率达到50HZ后,超过10S
A:如果1#没有故障,1#工频没启动开启1#工频,1#工频运行后,如果压力低于压力下限且变频泵频达到50HZ后,超过10S,2#工频没启动开启2#工频
四档
当四号泵变频运行时,突然4#泵产生故障,此时如果1或2或3#泵有一台泵工频运行时,
A:1#泵没有故障时,复位1#泵工频0.5S后,切换到1#泵变频运行,如果此时压力低于压力下限且变频泵频率达到50HZ后,超过10S,此时又进行下一轮循环(这时可能产生的问题是:如果压力始终达不到,会1#变频,复位2#变频开启1#工频,复位2#变频,开起3#变频这样一个水泵很快进行轮循的过程,但轮循一次后会停下来
B:1#有故障时,2#没有故障时,复位2#泵工频0.5S后,切换到2#泵变频运行,如果此时压力低于压力下限,且变频泵频率达到50HZ后,超过10S,此时又进行下一轮循环
C :如果1,2#都有故障,3#没有故障时,复位3#泵泵工频,切换到3#泵变频如果4#变频运行时压力低于压力下限且变频泵频率达到50HZ后,超过10S,1#工频没有起动时起动1#工频,压力还不够时2,及3没有工频启动时,延时依次开启;当仅且只有1台泵变频运时,突然那一台泵产生故障,机器恢复到刚开始工作循环状态
机器复位过程
四档
当压力超过压力下限,且变频器输出频率为0时延时5S后先复位1#工频,在2-3 #工频延时停掉
三档
当压力超过压力下限,且变频器输出频率为0时延时5S后先复位1#工频,在2-#工频延时停掉
二档
当压力超过压力下限,且变频器输出频率为0时延时5S后先复位1#工频
★当仅且在1-2-3#泵中只有1台泵是变频运时,压力超过压力下限,且变频器输出频率为0时延时5S,开启5#泵
★8小时轮换工作
一档
1#泵变频运行超过8小时,复位1#变频,开启2#变频
二档
2#泵变频运行超过8小时,且3#泵没有运行时,复位
2#变频,开启3#变频
三档
3#泵变频运行超过8小时,且4#泵没有运行时,复位
3#变频,开启4#变频
变频器频率(上升/下降)过程PLC程序
东莞精一控自动化公司恒压供水控制东莞自动化公司