登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:[求助]求助plc程序

点击:2620 回复:11

您需要至少2块235模块
整个程序并不复杂
将模拟量读取后,存放入V区,然后使用比较语句进行比较输出就可以
07-06-11 16:20
润滑油温度超高(低)报警
---------------------------------------------------------------------
LD     First_Scan_On               // 首次扫描周期 SM0.1=1
MOVD   +0, VD196                   // 清除 VW196 和 VW198.
MOVW   +16, VW250                  // 再VW250中装入1C数字量=16
MOVW   +4000, VW252                // 0C偏置量=4000.
MOVW   +850, VW260                 // 温度高限为85C
MOVW   +0, VW262                   // 温度低限为0C.
MOVW   +20000, AQW0                // Io输出数=20000
---------------------------------------------------------------------
LD     Always_On                   // SM0.0总为1
MOVW   AIW4, VW200                 // 把测量温度数字量装入VW200
-I     VW252, VW200                // 减去0C偏置量
DIV    VW250, VD198                // 除以1C数字量
MUL    +10, VD196                  // 余数乘以10
DIV    VW250, VD196                // 10*余数/16=一位小数点的数
MOVW   VW198, VW160                // 保存一位小数点的数,即温度小数值*10
MOVW   +0, VW198                   // 删除VW198中的值
MUL    +10, VD198                  // 温度整数值乘以10
+I     VW160, VW200                // 温度整数值*10+温度小数值*10
MOVW   VW200, VW116                // 传送结果到VW116以供显示
S      V12.7, 1                    // 显示信息1的使能位V10.7=1
---------------------------------------------------------------------
LDW>=  VW200, VW260                // 如果温度超过高限
=      V12.6                       // 则显示信息2的使能位V10.6=1
R      Q1.0, 1                     // 报警
MOVW   VW260, VW136                // VW136里的高限供信息2显示
---------------------------------------------------------------------
LDW<=  VW200, VW262                // 如果温度低于低限
=      V12.5                       // 则显示信息3的使能位V10.5=1
S      Q1.0, 1                     // 报警,即输出端Q0.0=1
MOVW   VW262, VW156                // VW156里的低限共信息3显示
---------------------------------------------------------------------
上面的是一个照搬的温度高低报警程序 请问有没有错误
07-06-11 16:30

上一页 上一页

工控新闻

更多新闻资讯