签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
PLC外部通讯读写电机运行状态,应该怎么做,
2.3.1、打开1号电机指令
0x01 0x02 0x01 0x00 0xFF 0x2E
说明 第一位:设备ID、第二位:设备功能码 01 接收指令,02 发送指令、第三位 0x01 开、0x02 关、第四位:预留、第五六位:校验码
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1656822&b_id=64&s_id=0&num=6
RS485只是物理连接通讯标准端口,不是通讯协议啊;
200smart无论自由口通信、Modbus RTU、USS通信协议都有自己专有的通信指令的,你可以调用哦;
参考下面链接, RS485接口支持Modbus RTU通信协议,http://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/smartsms/020.html
直接按这个格式发送,算出校验码一起发送即可
200smart 支持Modbus RTU/基于TCP IP的S7通信协议,没有Modbus TCP,混了;
直接在Modbus库中调用Modbus主站指令或者Modbus从站指令,调用初始化指令设置好相关参数,端口,波特率,奇偶校验,再直接调用读写相关指令就可以了;
见下面链接,论坛里大神做到示例
http://www.ad.siemens.com.cn/club/bbs/post_like.aspx?a_id=1541185&b_id=64
https://wenku.baidu.com/view/0ec1154285254b35eefdc8d376eeaeaad0f31633.html
或者买本书<深入浅出,西门子S7-200smart PLC>看看,上面都介绍的很清楚;
楼主要走的路(通讯连接成功)还有很长的一段,不知道路上面的坑有多少。
你首先搞清楚,读取电机参数是读取那个元器件?是驱动电机启、停的控制器?
如果要建立通讯,那么,这个模块支持什么方式的通讯?modbus rtu?
如,一个数量级的频率;7-8个数据位,1个停止位、一个起始位,奇/偶/无校验位,这些是modbus rtu通讯必须具备的特征。如果有其中的一种不符合,那么只能写自由口通讯了,自由口通讯是根据双方具备的通讯协议写的通讯程序。
假设,通过200smart PLC集成的RS485口与电机驱动器连接一个自由口通讯:
1)首先协议初始化通讯格式,RS485口的通讯参数设置在SMB30中,你根据电机驱动器具备的通讯参数设置好通讯参数;
2)将”0x01 0x02 0x01 0x00 0xFF 0x2E“加上校验,如CRC计算的结果,事先存放在一个连续的V存储区中;
3)初始化发送完成中断,开中断;
4)调用XMT指令,将事先准备好的数据连同CRC校验码一起发送给电机驱动器;
5)验证通讯发送结果,如果电机正确接收到200smart发送的数据,应该需要返回一串数据给200smart,200smart接收到电机驱动器返回的数据,核对校验码正确后,这个通讯发送命令的一整套方式才算完成,等待下一个发送命令。
做通讯项目比较难的是每一步都有坑,都有很多知识点在其中,稍不留意,掉坑是马上的,,但是,只有掉的次数多了,已经有防御能力后,你会跑、你会飞,那样,你会飞的更高更远。
可能是我的理解问题,你的标题是rs485,rs485是物理接口,具体应用需要调用某一种协议。
在200smart集成或者扩展的信号板接口模块中,它支持ppi协议、modbus 协议等,利用rs485物理接口展开的通讯任务。
如果用MODBUS RTU的话 ,,可以用超串测试下
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录