西门子授权代理-华南区西门子PLC-S7-1500 S7-400PLC 西门子s7 200 smart代理商
| 更新时间 2024-11-27 08:00:00 价格 请来电询价 PLC触摸屏代理商 西门子代理商 伺服电机驱动电缆 西门子一级代理商 变频器直流调速器 西门子一级总代理商 联系电话 13922889745 联系手机 18475208684 联系人 向小姐 立即询价 |
一、配方写入PLC
IF "1秤_配方使用".配方写入 = TRUE THEN
"1_MODBUS TCP数据".MC1.MB_DATA_PTR[0] := "1秤_配方数据块".自动清零间隔;
"1_MODBUS TCP数据".MC1.MB_DATA_PTR[1] := "1秤_配方数据块".运行判稳超时;
"1_MODBUS TCP数据".MC1.MB_DATA_PTR[2] := "1秤_配方数据块".定值方式;
"1_MODBUS TCP数据".MC2.MB_DATA_PTR[0] := "1秤_配方数据块".配方号;
"1_MODBUS TCP数据".MC2.MB_DATA_PTR[1] := "1秤_配方数据块".目标值;
"1_MODBUS TCP数据".MC2.MB_DATA_PTR[2] := "1秤_配方数据块".快加提前量;
"1_MODBUS TCP数据".MC2.MB_DATA_PTR[3] := "1秤_配方数据块".中加提前量;
"1_MODBUS TCP数据".MC2.MB_DATA_PTR[4] := "1秤_配方数据块".落差值;
"1_MODBUS TCP数据".MC2.MB_DATA_PTR[5] := "1秤_配方数据块".零区值;
"1_MODBUS TCP数据".MC3.MB_DATA_PTR[0] := "1秤_配方数据块".加料前延时;
"1_MODBUS TCP数据".MC3.MB_DATA_PTR[1] := "1秤_配方数据块".快加禁判时间;
"1_MODBUS TCP数据".MC3.MB_DATA_PTR[2] := "1秤_配方数据块".中加禁判时间;
"1_MODBUS TCP数据".MC3.MB_DATA_PTR[3] := "1秤_配方数据块".慢加禁判时间;
"1_MODBUS TCP数据".MC3.MB_DATA_PTR[4] := "1秤_配方数据块".定值保持时间;
"1_MODBUS TCP数据".MC3.MB_DATA_PTR[5] := "1秤_配方数据块".夹袋后延时;
"1_MODBUS TCP数据".MC3.MB_DATA_PTR[6] := "1秤_配方数据块".松袋前延时;
"1_MODBUS TCP数据".MC3.MB_DATA_PTR[7] := "1秤_配方数据块".卸料延时;
"1_MODBUS TCP数据".MC4.MB_DATA_PTR[0] := "1秤_配方数据块".加料关闭至慢加所需脉冲个数;
"1_MODBUS TCP数据".MC5.MB_DATA_PTR[0] := "1秤_配方数据块".加料关闭至快加所需脉冲个数;
"1_MODBUS TCP数据".MC6.MB_DATA_PTR[0] := "1秤_配方数据块".加料电机加速时间;
"1_MODBUS TCP数据".MC6.MB_DATA_PTR[1] := "1秤_配方数据块".加料电机减速时间;
END_IF;
二、个别数据,点击写入数据时触发定时器,设定若干秒时间进行写入,平时更新该数据
"IEC_Timer_0_DB_130".TP(IN:="1秤_配方使用".配方写入,
PT:=#设定时间,
Q=>#脉冲输出,
ET=>#计时);
IF NOT "IEC_Timer_0_DB_130".Q THEN
"1_MODBUS TCP数据".MC2.MB_DATA_PTR[4] := "1_MODBUS TCP数据".MC8.MB_DATA_PTR[0];
ELSE
END_IF;
三、配方根据配方号进行保存
IF "1秤_配方使用".配方保存 = TRUE AND "1秤_配方使用".配方号 = 1 THEN
"1秤_配方1" := "1秤_配方数据块" ;
END_IF;
IF "1秤_配方使用".配方保存 = TRUE AND "1秤_配方使用".配方号 = 2 THEN
"1秤_配方2" := "1秤_配方数据块" ;
END_IF;
IF "1秤_配方使用".配方保存 = TRUE AND "1秤_配方使用".配方号 = 3 THEN
"1秤_配方3" := "1秤_配方数据块" ;
END_IF;
IF "1秤_配方使用".配方保存 = TRUE AND "1秤_配方使用".配方号 = 4 THEN
"1秤_配方4" := "1秤_配方数据块" ;
END_IF;
IF "1秤_配方使用".配方保存 = TRUE AND "1秤_配方使用".配方号 = 5 THEN
"1秤_配方5" := "1秤_配方数据块";
END_IF;
IF "1秤_配方使用".配方保存 = TRUE AND "1秤_配方使用".配方号 = 6 THEN
"1秤_配方6" := "1秤_配方数据块" ;
END_IF;
IF "1秤_配方使用".配方保存 = TRUE AND "1秤_配方使用".配方号 = 7 THEN
"1秤_配方7" := "1秤_配方数据块" ;
END_IF;
IF "1秤_配方使用".配方保存 = TRUE AND "1秤_配方使用".配方号 = 8 THEN
"1秤_配方8" := "1秤_配方数据块" ;
END_IF;
IF "1秤_配方使用".配方保存 = TRUE AND "1秤_配方使用".配方号 = 9 THEN
"1秤_配方9" := "1秤_配方数据块" ;
END_IF;
IF "1秤_配方使用".配方保存 = TRUE AND "1秤_配方使用".配方号 = 10 THEN
"1秤_配方10" := "1秤_配方数据块" ;
END_IF;
四、配方根据配方号进行写入
IF "1秤_配方使用".配方读取 = TRUE AND "1秤_配方使用".配方号 = 1 THEN
"1秤_配方数据块" := "1秤_配方1" ;
END_IF;
IF "1秤_配方使用".配方读取 = TRUE AND "1秤_配方使用".配方号 = 2 THEN
"1秤_配方数据块" := "1秤_配方2" ;
END_IF;
IF "1秤_配方使用".配方读取 = TRUE AND "1秤_配方使用".配方号 = 3 THEN
"1秤_配方数据块" := "1秤_配方3" ;
END_IF;
IF "1秤_配方使用".配方读取 = TRUE AND "1秤_配方使用".配方号 = 4 THEN
"1秤_配方数据块" := "1秤_配方4" ;
END_IF;
IF "1秤_配方使用".配方读取 = TRUE AND "1秤_配方使用".配方号 = 5 THEN
"1秤_配方数据块" := "1秤_配方5" ;
END_IF;
IF "1秤_配方使用".配方读取 = TRUE AND "1秤_配方使用".配方号 = 6 THEN
"1秤_配方数据块" := "1秤_配方6";
END_IF;
IF "1秤_配方使用".配方读取 = TRUE AND "1秤_配方使用".配方号 = 7 THEN
"1秤_配方数据块" := "1秤_配方7" ;
END_IF;
IF "1秤_配方使用".配方读取 = TRUE AND "1秤_配方使用".配方号 = 8 THEN
"1秤_配方数据块" := "1秤_配方8" ;
END_IF;
IF "1秤_配方使用".配方读取 = TRUE AND "1秤_配方使用".配方号 = 9 THEN
"1秤_配方数据块" := "1秤_配方9" ;
END_IF;
IF "1秤_配方使用".配方读取 = TRUE AND "1秤_配方使用".配方号 = 10 THEN
"1秤_配方数据块" := "1秤_配方10" ;
END_IF;
写配方数据DB块时,注意数据格式及数据命名是一样的,相同的DB块数据类型,可以使用UDT数据类型(这个本人一开始每想到,简练的DB块都是复制粘贴,如果添加一个数据或减少一个数据,那么相关DB块都用更改,很玛法)。
联系方式
- 电 话:13922889745
- 经理:向小姐
- 手 机:18475208684
- 微 信:18475208684