全国服务热线: 15821971992

西门子中国授权总代理商|CPU模块总代理商

发布日期 :2023-07-19 17:06发布IP:114.95.101.251编号:11806885
品牌:
西门子
型号:
模块
产地:
德国
分 类
工控系统及装备
单 价
电议
有效期至
长期有效
咨询电话
15821971992
手机
15821971992
Email
2724917714@qq.com
让卖家联系我
详细介绍

在PLC加密情况下监控I/O变量

工厂有两条一样的软糖生产线,一条已经投产,另一条还在调试阶段。由于疫情原因老外来不了,就自己调试,外加远程协助。

设备:

一个控制保温水(密闭管路)流量的阀,控制原理图大致如下。屏幕上按钮控制两个继电器,继电器控制阀开度。阀的开度反馈给plc,并在屏幕上显示。另外还有个压力表作流量参考。

344174817.jpg

问题现象:

当两台设备屏幕上开度一致时,压力相差较大。因为开度是工艺参数,所以生产想两台设备保持一致。

检查:

这里用的IM151-8 PN/DP CPU。

1554399699.jpg

上载发现程序加密,没法监控,只能用万用表测量两个模块的输入是否一样。一直以来接触的都是电压或者电流输入也就没在意,测了半天发现不管开度怎么调,电压电流都太大变化,一查模块,发现是个测电阻的。想想太麻烦了,就下了个免费监控软件PLCRecorder试试,不过这个软件只支持以太网。

设置通道:

6.png

设置变量:

7.png

录波:

5 (2).png

非常方便。

然后又捣鼓了下STEP7,结果发现也能监控变量:

显示可访问节点:

2.png

右击添加变量监控:

4.png

添加变量监控即可,效果一样

5.png


该方法可以简单协助检查,省去了用万用表测量的麻烦及误差。

前面介绍了读取和写入数组中元素值的指令Field Read和Field Write两条指令,同时给大家简单的分析了程序的设计思路。接下来就使用Field Read来实现本功能,在程序的设计过程中可能还需要用到循环跳转指令。

例子说明:

假设需要从一组数据中找出一个大值,并记录这个大值是这组数据中的第几个数据。

步:

添加一个全局DB块,并在DB块中建立一个变量名为data_1#,数据类型为数组的变量,用于存储需要找出大的数据,同时建立一些相应的变量,如下图所示。

第二步:

初始化相应的存储器并把存储大值的存储器的值设置为小值。程序如下所示:

第三步:

编写判断数据的挨个比较是否完成,当执行的次数与设定的次数相等时,则表示完成,可以跳出大值查找的程序,让程序跳转到后执行。程序如下所示:

第四步:

编写读取数组中元素的值,然后与存储大值的存储器中的值做比较,用于判断数据存储器存储的值是否是大值,若不是大值进行数据交换,同时记录位置,然后INDEX的值加1,同时记录执行次数并与设定次数做比较,如未达到设定次数,则跳转换前面继续通过Field Read指令读取数据出来继续做比较。



相关分类
推荐产品
信息搜索
 
智能科技新闻
浔之漫智控技术(上海)有限公司
  • 地址:上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 电话:15821971992
  • 邮件:2724917714@qq.com
  • 手机:15821971992
  • 联系人:聂聪
西门子中国新闻