MOVE指令是EN为1就将数值写入到目标地址,那么我打算做每隔1S采集一次的指令,问下怎么操作比较好,我也没找到能做单次脉冲的函数
CPU属性,激活“时钟存储器”
系统和时钟存储器
https://www.ad.siemens.com.cn/productportal/prods/s7-1200_plc_easy_plus/smartsms/086.html
精度不高自己用时间继电器做,精度高用中断来做。
参考流量累加吧,比较相类似。
如果用的是经典的STEP 7 V5.X,则参考《编程使用》中的《流量累计》
http://www.ad.siemens.com.cn/productportal/prods/1500published/1500list/prog_list3.html
如果用的是 TIA V1X,则参考
《在STEP 7 (TIA Portal) 中,如何实现流量累积功能?》
https://support.industry.siemens.com/cs/document/48799854
参考S7-300/400的:
详见《如何计算物理流量测量值(如质量流量、流速)的总和?》连接:
http://support.automation.siemens.com/CN/view/zh/23061633
http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&lang=zh&objid=23061633&caller=view
回
几个问题需要搞清楚。
move指令始终执行同一个变量传输到同一个存储区?
如果是,你这个思路可以,只是在调用move指令时用沿触发。做一个定时器,每一个1S周期触发传输一次。
如果是将源数据,按每1S周期传输一个数据到一串连续的地址中,就需要创建如表格指令,或指针偏移地址存储数据方式。
1、
循环中断组织块
https://support.industry.siemens.com/cs/cn/zh/view/84047890
电话:13818569113 15721373211
邮箱:fushidianji@139.com
网址:http://www.jiansujiabc.com
地址:上海青浦区北青公路7171号111-112室