1.我想用smart200读取电能量,分别在1号早上8点读取一次,然后在下个月的1号早上8点电量读取一次,然后算出来当月耗的电量,该怎么写?2.如果读取实时的电能数据,通过MODBUS和CPU通讯来读取,请分开回答,谢谢大家
最佳答案
1、先定义数据
A、B两个变量分别存储上月累积、下有累积,并设为断电保持
变量C为本次计算的月耗。也设为断电保持
2、设置系统时钟以及读取系统时钟
设置系统时钟是为了校时,读取系统时钟是为了知道是不是到了当月的1日8时0分0秒
如果是,则:
2.1 先将B传给A
2.2 然后读取当时的电量值放在B
当MODBUS 读取指令的 DONE 位为1 且 STATUS 状态位为 0 时表示读是正常完成的。则计算C=B-A。
3、所要用到的资料
Clock_integer指令库,功能:由于S7-200时钟指令的数据格式是BCD码,使用该库指令可以直接读取S7-200 CPU时钟并以整数格式输出所读取的值。在《常用指令库》链接中下载
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/software/library/library_links/Library_links.html
S7-200 SMART实时时钟常见问题
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/SmartSMS/010.html
S7-200 SMART Modbus RTU通信常见问题
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/SmartSMS/020.html
提问者对于答案的评价:
谢谢
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc343808.html