西门子PLC S7-1200软件编写总结

工业控制

1201人已加入

描述

1.SM1234模拟量模块输入档位的选择及数字量的对应计算。

根据数据手册,该型号的模拟量输入范围有:±10V、±5V和±2.5V,在应用过程中如何根据实际输入的电压选择档位?

在博途V14的“设备组态”界面,选中模拟量模块,在下方的“属性”进行电压档位的选择;

根据选择的档位进行对应数字量的计算。具体见以下两图。

注:通道0和通道1是一体的,通道2和通道3是一体的。

当模拟量输入电压远远大于当前的选择范围时,SM1234硬件模块对应输入通道显示灯变红,提示有error。

西门子

电压档位选择

西门子

数字量与电压对应关系

2.1s内对模拟量进行10次采集均值滤波时报错。

报错有两方面原因:

(1)稳定复现的报错。

原因:累加变量sum的数据类型为uint类型(双字节),当累加10次时会导致数据溢出,sum只保留了低16位的数,导致数值错误。

解决措施:将sum由uint改为duint类型,保证累加值不会因溢出而出错。

注:均值滤波的举一反三。

(2)作出以上更改后,计算均值仍会不稳定报错。

原因:10次模拟量采集的理论时间与实际运行时间是有差异的。以50ms为采集周期,理论上500ms可以完成10次采集,而实际上还有代码运行时间等误差,在500ms内无法完成10次采集(可能只采集了9次),导致计数变量count无法累加到10,也就无法在count==10时进行均值计算。

解决措施:将采集时间增大,在(采集周期*采集次数)的基础上再加上150ms作为滤波计算的时间周期。

3.板选和组选地址选择。

3-8译码器用于板选,放在低三位;4-16译码器用于继电器组选,放在高四位,具体如下:

组选→6543 210←板选

图示箭头顺序为数据计算从高位到低位,210为板选,6543为组选。

例如,2板第3组继电器为0010 100,0010(→,2表示第3组继电器),100(←,1表示第2块板卡)。

4.DB数据块里面的变量更改了,程序下载后运行时数据还是不会更新?

解决措施:将DB块变量中“保持”选项列取消勾选。

5.没有模拟电压输入(输入通道断路)的情况下,输入AIW116变量有数值,且为65536左右(2的16次方)。

原因:将AIW变量的数据类型设为了Uint。AIW116的档位是双极性的(无论是±2.5V到±10V),所以AIW变量的类型必须是有符号的(Int等)才可以。

解决措施:将10次滤波相关的变量全部更改为有符号的,包括AIW114、AIW116(Int),求和变量sum改为Dint的,Filter_Average改为Int类型。这样原本的65536最高位变成了符号位,约为0附近的负数。

6.如何保证模拟量输入电压不会过分溢出而导致出现红灯error?

解决措施:在模拟量输入通道前端添加钳位电路。

目前使用的电路中,AIW114钳位在0~5V,AIW116钳位在0~10V。注:档位选择不同,数字量和电压的对应比例也不相同。

7.HMI界面软件启动时,显示一堆系统报警信息,如何取消(续西门子HMI界面软件开发总结)?

结局措施:在HMI项目树下找到“全局画面”,在该画面中会出现较多的报警窗口,选定相应的报警窗口,仅在error前面打勾,warning前面不打勾。

西门子

属性界面

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分