我用cpu 414-2 dp作主站,im153-1作从站,下挂ai4/ao2x8/8bit模拟量输入输出模块,用3,4脚接4-20ma输入电流,1脚接24V,20脚和18脚接地,i地址540-547,q地址512-515,定义符号wt piw 540 数据类型word,在ob1中编程:
CALL "DPRD_DAT"
LADDR :="wt"
RET_VAL:=MW2
RECORD :=P#DB1.DBX0.0 BYTE 4
定义DB1是共享数据块,属性s7_m_c,true,DB1里有变量DB_VAL,地址0.0,类型INT,初始值0。在DB1的数据视图里启用监视,是不是可以监视模拟量输入的变化,为什么一直为0呢?
刚刚接触plc,请专家多多指导,谢谢了。
另外ES-OS-ENGINEERING这个组件是安装在simatic里还是wincc flexible里的?
问题补充:
我只是想读模拟量输入的数值,不知道该怎么处理,能说得详细点吗,我刚刚接触plc,不是很明白,mv2的返回值怎么看?8位的AD,要怎么定义数组,还有什么 方法可以读模拟量输入?谢谢谢谢了,发了电脑截图过去,麻烦给看一下,谢谢!
图片说明:
最佳答案
我只是想读模拟量输入的数值,不知道该怎么处理,能说得详细点吗?
就是直接把模拟量地址读进来数字量move到你的db区域就可以了,不需要调用你所写的指令。
只有外部硬件接线正确,就会有模拟量数据读进来。但是读进来都是对应0-27648之间的数字量,外部接的硬件正确,相应的模拟量是0-10v或是4-20ma 或是其它,经过这个ai4/ao2x8/8bit模块,
ai 模块:就是把模拟量的输入转换为数字量,供plc内部计算和处理。
ao 模块:就是把数字量输出转化为模拟来控制外部的硬件。
分布式的et200m上面组态的地址,只要硬件连接好,dp通讯正确,这个分站上地址和cpucpu 414-2 dp上的地址一样使用。不需要别的转换。
问题补充:把模拟量地址读进来数字量用move到你的db区域就可以了,或是其它mw区就可以。
提问者对于答案的评价:
哈哈,读出来了,谢谢。
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc241289.html