PLC的485与STC单片机通讯有何方法?
本人想制作一个PLC的485与STC单片机通讯,不知各路大神有没有做过,有何方法介绍? 简单,来个TTL转485模块,搞定{:lol:} 硬件:一个485芯片。软件:看哪个品牌的PLC,协议都是MODBUS的兼容和变种。 硬件好处理,重点是通讯协议是否能够取得。 ackk 发表于 2014-8-15 19:51简单,来个TTL转485模块,搞定
是不是STC485芯片? 饭桶 发表于 2014-8-15 20:05
硬件:一个485芯片。软件:看哪个品牌的PLC,协议都是MODBUS的兼容和变种。
不知单片机的MODBUS如何做啊? 论坛N多示例,自己搜 485可以起直接给STC串口用的 Modbus,重点在软件。STM32实现。 前段时间刚做过stm32 s200-226的485通讯,测试过程供参考
使用软件:vspd xp5虚拟串口,modbus poll/slave, step7-sp9 ,porthelper串口助手 ,keil uv4
1、 s226 主站与modbus slave 从站通讯,s226程序参考帮助例子,修改i0.0为m1.0;库存储区使用建议值。
通讯线为西门子pc/ppi线,slave 侧端口设置为端口1其他与程序中相同
2、 stm32 在keil uv4下debug 调试,stm32程序采用FreeModbus for stm32 精简 V0.3,使用usart2;仿真参数设置debug 下调用初始化文件 err65.ini(内容为map 0x40011c00,0x40011cFF read write exec)否则会报error 65错误。
仿真时在命令行输入:mode com2 9600,0,8,1;assign com2 <s2in> s2out ;
运行程序!
其中com2 为vspd xp5虚拟出的串口与com3配对使用
Pc上运行modbus poll 端口设置为 port3, 9600, 8,None, 1 ;slave 地址为1; 寄存器长度10改为6
通讯成功后显示40000:0 40001:1 …….40005:5
随后可进行其他读写操作。
3、神舟3号做从机写入FreeModbus for stm32 精简 V0.3,s226做主机写入程序,使用西门子pc/ppi电缆连接单片机串口 2和226port0,usb编程线监控程序运行,通讯成功。
bbs2009 发表于 2014-8-18 10:28
不用 MODBUS 也可以。 PLC 有 自定义通讯 模式。 具体看 PLC手册。
已经弄好了,自由通讯给PLC工作人员编程造成麻烦,还是按标准来好了
弄了之后,发现也不难,不过CRC的校验还是做不了~ 还是MODBUS靠谱 戒魔 发表于 2014-8-19 11:19
已经弄好了,自由通讯给PLC工作人员编程造成麻烦,还是按标准来好了
弄了之后,发现也不难,不过CRC的校 ...
CRC网上有现成的程序,直接拷贝着用就行了 不就是串口+485嘛,我一般用MODBUS-RTU协议。 modbus,标准的通讯协议 单片机做从机,用modbus比较容易一些 单片机外扩 485芯片,通过485接口 modbusRTU协议通讯。 比较简单。 用过三菱的PLC485协议里面有手册对照着写一步步调试就OK了
页:
[1]