恭喜,你发布的帖子
发布于 2020-12-11 15:14:14
4楼
楼主要走的路(通讯连接成功)还有很长的一段,不知道路上面的坑有多少。
你首先搞清楚,读取电机参数是读取那个元器件?是驱动电机启、停的控制器?
如果要建立通讯,那么,这个模块支持什么方式的通讯?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接收到电机驱动器返回的数据,核对校验码正确后,这个通讯发送命令的一整套方式才算完成,等待下一个发送命令。
做通讯项目比较难的是每一步都有坑,都有很多知识点在其中,稍不留意,掉坑是马上的,
,但是,只有掉的次数多了,已经有防御能力后,你会跑、你会飞,那样,你会飞的更高更远。
请填写推广理由:
分享
只看
楼主