STC单片机上实现PLC现场总线协议
本帖最后由 redelz 于 2024-4-5 11:32 编辑1,现场总线是PLC核心功能之一,我们的PLC和梯形图图形化编程软件原创研发完成于2000年,不但指令系统原创,现场总线协议也是我们的原创,协议的专用名字是RNet。PLC的现场总线不仅仅是下载读出用户程序,而且要适应实时控制。RNet协议已在大量工程应用获得验证,可以实现长期不断电高可靠运行,也经过无数断电和强干扰的网路联接再接入考验。虽然没有追求国际认证但是是我们真实的自主原创现场总线协议。我们是按照经典网络协议理论研发,在这里与大家分享研发心得。
2,RNet协议采用一个主控制多个从站(最多32个从站)。最大限度的简化从站的算法复杂度,避开从站的动态存储需求,将复杂的纠错,重传,从站调度等等复杂算法集中在主站。PLC内嵌从站协议,简化多个PLC的网络互联。
3,RNet利用STC标准异步串行接口,采用短帧协议可保证在19200的速率上实现10毫秒以内的综合响应时间。这是协议帧的数据结构:
Scom0SID data 37h ;Serial communication source ID
Scom1Type data 38h ;Serial communication TYPE and LENGTH
Scom2Seg data 39h ;Serial communication data SEGMENTS count if ne
Scom3D0 data 3ah ;Serial communication data 0
Scom4D1 data 3bh ;Serial communication data 1
Scom5D2 data 3ch ;Serial communication data 2
Scom6D3 data 3dh ;Serial communication data 3
Scom7D4 data 3eh ;Serial communication data 4
Scom8D5 data 3fh ;Serial communication data 5
Scom9D6 data 40h ;Serial communication data 6
Scom10D7 data 41h ;Serial communication data 7 may be CRC16 low
Scom11D8 data 42h ;Serial communication data 8 may be CRC16 High
ScomLast data 43h ;last char for COM changing char in frame
4,RNet采用问答方式实现通信。主机发起通信,每个通信帧必须由从机返回一个应答帧。从的通信帧有一个最关键的技术是上下文无关。就是从机每接收到一个通信帧,他只做这个的完整性验证并返回一个应答帧。这个帧与前一个帧和下一个帧没有任何逻辑关联性。也就是即使接收不到下一个帧,不会对从站运行产生任何影响。
5,我们的PLC支持2个通信接口,一个编程下载的同时另一个接口保持实时通信。
lcall S1_Init_UART ;初始化通信接口1
lcall S2_Init_UART ;初始化通信接口2
loop:……………….
lcall TickCom ;check translating
lcall S2TickCom
ljmp loop
6,STC单片机已经具有强大的硬件性能,今后的发展取决于对复杂的基础算法的封装及快速应用。软件是需要长期积累,扎实基础研究的。STC单片机任然具有无限创新研发空间。
页:
[1]