单片机和PLC之间的通讯:关于485接口
智能仪表是随着80年代初单片机技术的成熟而发展起来的,现在世界仪表市场基本被智能仪表所垄断。究其原因就是企业信息化的需要,企业在仪表选型时其中的 一个必要条件就是要具有联网通信接口。最初是数据模拟信号输出简单过程量,后来仪表接口是RS232接口,这种接口可以实现点对点的通信方式,但这种方式 不能实现联网功能,随后出现的RS485解决了这个问题。
RS485接口的电气特性
RS485采用差分信号(正?)逻辑,+2V~+6V表示“1”,- 6V~- 2V表示“0”, 该电平与TTL电平兼容,可方便与TTL 电路连接。很多情况下,连接RS-485通信链路时用一对双绞线将各个接口的“A”、“B”端连接起来(根据情况来选择共地)。
S7-200的485接口阵脚定义
S7-200 手册中485接口 的阵脚定义如图1所示:
图1
另外的资料所描述的s7-200 内部的485接口电路如图2所示:
图2
两图中关于485接口 3和8 阵脚定义截然相反的,做通讯测试首先根据图1的定义来连接,结果PLC接收数据错误;然后根据图2的定义来连接,PLC接收数据正常;
以实际使用情况为基准的话,则认为s7-200的485接口3为A ,8为B来使用。
单片机和PLC之间通讯
单片机端采用的RS232串口而PLC上为RS485接口,二者阵脚定义和逻辑电平有所差别故完成二者之间的通讯需要其他器件来进行转换调整。
1. PC/PPI线缆
通过PC/PPI线缆来连接单片机和s7-200,数据通讯无误;
2. RS232 - RS485转接头
问题一:单片机RS232串口 和 转接头的RS232串口连接线 是直连线还是交叉线?
转接头说明中RS232 接口是DCE方式,可以和DTE 终端设备串口直连,和DCE设备相连需要用交叉线连接。
关于串口设备连接线使用交叉线还是直连线的简单区分:
若线缆两端一公头一母头,则采用直连线;
若线缆两端同为公头或母头,则采用交叉线。
问题二:关于232-485转接头 及其配套的 接线端子 上的标号
RS232 数据信号为负逻辑,RS485 数据信号为正逻辑,传输相同的数据波形如图所示:
图3:RS232 的波形
图4:RS485 的波形
按照转换头说明书上的标示测量波形结果:
① 转换头输入和输出波形 形状一致,为负逻辑进行数据传输;
② 转换头 和 接线端子 上的D+ 和 D- 做了交叉标示,按照接线端子上的标示进行测量波形,则转换头 和 接线端子 上的输入和输出波形 做了一次反转。
根据示波器测量波形, 转换头 与 sp485e 之间 的电路部分对RS232 信号做了逻辑电平的转换,转换接头RS485端 故意将D+/D-标反 以达到串口数据的透明传输,接线端子 在标示上将其“拨乱反正”,从而正确的信号传给PLC。
实验过程中,把端子直接去掉,自行焊接串口线 连接 转换头 和 PLC 串口,从而造成通讯不正确(中间还夹杂着 转接头的供电 及 PLC串口阵脚定义的问题)。
总结:通讯不畅,根据数据链路测量个节点的波形,确定出现问题的环节;
另外,设备上的阵脚标示只能做参考,实际的定义需要参看芯片数据手册及电路来确定。
3. MAX3485芯片
单片机和PLC之间的信号直接通过 485芯片来进行数据的转换传输。
无论是PC/PPI线还是转接头 其实质都是通过485芯片来完成 232接口和 485接口的数据转换工作的,故从成本考虑最终要采用485芯片来完成单片机和PLC之间的通讯。
单片机PLC485接 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)