西门子200plcMODBUS通讯怎么读取从站西门子200plc的Q 存储区 西门子PLC200 MODBUS通讯中 在往从站写数据的时候...
作者&投稿:俞乔 (若有异议请与网页底部的电邮联系)
西门子200plcMODBUS通讯怎么读取从站西门子200plc的VB0 存储区~
我尽量不会让一个PLC直接读写另一个PLC的I存储区或者Q存储区
而是把通讯交换的数据全部在DB块中读取或写入
因为你用的是S7-200,所以,先把Q存储区的数据送入V存储区或者M存储区(建议用V)
然后再进行读写操作
从站也是200PLC吗,将他的M区镜像到V区,再读写V区。
1、安装西门子标准指令库,见2楼的附件。
2、按照要求编写用户程序调用
Modubs
RTU
主站指令库
3、调用读写子程序MBUS_MSG。
程序1:
多个MBUS_MSG指令轮询执行,见附件。
例子程序2:反复激活单个MBUS_MSG指令,见附件。
求采纳为满意回答。
记得给问豆啊!
首先,你用的是CPU226,226有2个485端口,你MODBUS用的是端口0,那么你调用的功能块也必须是针对端口0 的;
其次,从站地址,波特率可以根据仪表参数来设置,一般从站地址不要设置过大,波特率不要设得太高。
再次,你调用了MODBUS主站协议块后,最好能对库存储区重新进行划分,设置好功能块的相关引脚参数后下载,先看看能不能读到数据,如果读不到数据,可以采用单边调试的办法对PLC端和仪表端单独调试确保数据格式/位等都正确。单边调试都没有问题后再把这2个设备连起来调,好多想当然觉得发送的数据是这样的结果单调时数据却不是这样。
最后,做个时间定时器轮训执行不同的段来读取不同的从站数据。
我尽量不会让一个PLC直接读写另一个PLC的I存储区或者Q存储区
而是把通讯交换的数据全部在DB块中读取或写入
因为你用的是S7-200,所以,先把Q存储区的数据送入V存储区或者M存储区(建议用V)
然后再进行读写操作
《西门子200PLC和台达通过modbus协议通讯》
答:第一步:200的MODBUS库是03读,06写 第二步:如果是其他的功能码,需要用自由口编写程序