签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
QQ图片20190823145120.png
如图所示,这个dataptr管脚是指向与读取或写入请求关联的数据的 V存储位置 。为实现读取同一IP地址下,不同站号的服务器的数据,想通过程序改变此管脚的数据实现不同站号数据存储在不同的V存储区。请各位大神指点一下。感谢!
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1580139&b_id=64&s_id=0&num=6
不太理解你要达到什么目的。
从你的贴图可以理解为,你要与IP地址为192.168.2.12的服务器通讯,对服务器读或者写(读或者写由MB1的数值决定)6个字的数据,这6个字的首地址由md2的数值指定。
如果是读,则将读到的这6个字存储在本PLC的VB1002开始的12个字节里。
如果是写,则将本PLC存储在VB1002开始的12个字节的数据写到服务器的md2指定的首地址的连续12个字节里(6个字)。
这个就已经是间接寻址了。不知道你问什么。
哈哈 不好意思,可能表述有问题,我举个例子,比如我下面有5台MODBUS RTU的从站设备,总线方式连接后通过MODBUS网关转换为TCP,然后通过PLC modbus client来读写每个设备。通过程序改变MB client库程序的mModbus_Unit_ID ,实现对5台设备的读写。现在问题来了,是否可以通过每次改变这个ID号的同时,改变DATAPTR的这个地址,实现每次读写操作时,映射到不同的地址段,例如读1#站时自动将dataptr设置为VB100,2#站时VB200,……。当然可以固定dataptr的地址,通过在每次改变ID号的同时用BLKMOV_B指令将读到的数据复制到相应的寄存器。这只是突发奇想,不知能否实现这个操作。
再次感谢YUKJ和芳季两位前辈的关注!!!
我是每个(读写)数据地址段调用一次指令库。
那是在不同的IP地址下吧,同一ip地址下,不同的ID号会报错
引用4楼详细内容:
同一个设备,同一个IP地址,相同的ID,每一次单独调用库指令读取3x、4x或0x地址段的数据。
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录