发明名称 基于UNIX和LINUX平台完成与西门子S5 PLC通讯的实现方法
摘要 本发明公开了一种基于UNIX和LINUX平台完成与西门子S5PLC通讯的实现方法,通过初始化、初始化原始套接字、生成套接字、建立连接、请求数据、断开连接过程实现,本发明可替代原有的上位机平台软件,且对硬件系统无额外要求,且UNIX/LINUX为开源操作系统,成本低廉,减少了硬件和软件成本,同时进一步提高了系统的安全性和可靠性。
申请公布号 CN103676763A 申请公布日期 2014.03.26
申请号 CN201310664058.1 申请日期 2013.12.09
申请人 国网电力科学研究院;南京南瑞集团公司;国家电网公司 发明人 陈龙;戎刚;单鹏珠
分类号 G05B19/05(2006.01)I;H04L29/06(2006.01)I 主分类号 G05B19/05(2006.01)I
代理机构 南京纵横知识产权代理有限公司 32224 代理人 董建林
主权项 一种基于UNIX和LINUX平台完成与西门子S5PLC通讯的实现方法,其特征在于,包括以下步骤:1)在UNIX/LINUX系统中,通过地址族为AF_INET、类型为SOCK_STREAM创建socket套接字;2)使用UNIX/LINUX系统中设备驱动I/O通道管理函数ioctl来获得上位机通讯网卡所对应的MAC地址,共占6个字节,所述MAC地址作为源地址(Source MAC Address),而S5PLC的CP1430通讯模块对应的MAC地址作为目标地址(Destination MAC Address)。3)再将socket中的sll_family、sll_protocol、sll_ifindex、sll_hatype、sll_pkttype、sll_halen、源地址、目标地址等参数初始化,并使用参数进行SOCKET连接,连接过程使用SOCK_RAW参数完成,以接受到包括IEEE802.3协议在内的所有底层信息,SOCKET建立成功后将返回生成的SOCKET描述符,后续步骤在所述SOCKET描述符基础上完成;4)建立连接:发送请求帧Connect Request,功能码0xe1,PLC回复确认请求帧Connect Confirm,功能码0xd1,再发送确认帧Acknowledge,功能码0x60,此三过程后,通讯建立并激活;5)请求数据:读取PLC数据,发数据帧Data,功能码0xf0,PLC先对数据帧回复确认帧Acknowledge,功能码0x60,代表PLC收到了数据帧,再发一封数据帧Data,功能码0xf0,回复PLC内的数据,收到PLC回复的数据帧后,要再发一封确认帧Acknowledge,功能码0x60,予以回复确认,此时一次数据的请求过程完成;6)断开连接:发请求帧Disconnect Request,功能码0x80,PLC回复确认请求帧Disconnect Confirm,功能码0xc0,再发确认帧Acknowledge,功能码0x60,通讯连接即断开。
地址 210003 江苏省南京市鼓楼区南瑞路8号