基于Python语言的数字信号通讯装置及方法制造方法及图纸

技术编号:20328736 阅读:19 留言:0更新日期:2019-02-13 05:30
基于Python语言的数字信号通讯装置及方法,控制主机通过Python语言程序段监控指定的COM口,当打开串口后循环获取PLC发送的开关量信号数据;对PLC发送的开关量信号数据进行进制转换,将获取开关量信号数据转为16进制;对进制转换后的开关量信号数据进行字符串判断;在Python语言程序的自定义函数中执行指定串发送数据的方式,对开关量信号数据进行字符串类型转换;对控制主机发送开关量信号给PLC过程中的继电器接口进行指定,调用数据回传模块控制主机将开关量信号数据发送到PLC。本发明专利技术能够实现PLC与控制主机之间不同类型的数字信号传输,解决新编程序与现有工业控制体系之间的通讯与信息交互问题。

【技术实现步骤摘要】
基于Python语言的数字信号通讯装置及方法
本专利技术涉及数据通讯
,具体涉及一种基于Python语言的数字信号通讯装置及方法。
技术介绍
Python语言是一种功能强大的具有解释性、交互性和面向对象的第四代计算机编程语言。Python也是一种脚本语言,它开发代码的效率非常高,它具有强大和丰富实用的第三方标准库,使得编程变得简洁快Python语言的语法表达也非常优美易读;Python支持广泛的应用程序开发,从简单的文字处理到基于Web的开发及游戏设计的应用。使用python等高级语言编写控制程序、人工智能程序是未来的趋势。数据通信主要有并行通信和串行通信两种方式。并行通信是以字节或字为单位的数据传输方式,除了8根或16根数据线、一根公共线外,还需要数据通信联络用的控制线。并行通信的传送速度快,但是传输线的根数多,成本高,一般用于近距离的数据传送。并行通信一般用于PLC(ProgrammableLogicController)的内部,如PLC内部元件之间、PLC主机与扩展模块之间或近距离智能模块之间的数据通信。串行通信是以二进制的位(bit)为单位的数据传输方式,每次只传送一位,除了地线外,在一个数据传输方向上只需要一根数据线,这根线既作为数据线又作为通信联络控制线,数据和联络信号在这根线上按位进行传送。串行通信需要的信号线少,最少的只需要两三根线,适用于距离较远的场合。计算机和PLC都备有通用的串行通信接口,工业控制中一般使用串行通信。串行通信多用于PLC与计算机之间、多台PLC之间的数据通信。在串行通信中,传输速率常用比特率(每秒传送的二进制位数)来表示,其单位是比特/秒(bit/s)或比特率(bps,bitspersecond)。传输速率是评价通信速度的重要指标。常用的标准传输速率有300、600、1200、2400、4800、9600和19200bps等。不同的串行通信的传输速率差别极大,有的只有数百bps,有的可达100Mbps。现有技术中,对于自动化的生产线的通讯方法主要为基于RS485通讯协议的PLC与PLC之间的数据交换,以及基于以太网通讯协议的PLC与上位机之间的数据交换。基于高级程序语言Python编写的PLC与电脑主机之间的通讯方式暂时还是空白。
技术实现思路
本专利技术实施例的目的在于提供一种基于Python语言的数字信号通讯装置及方法,能够实现PLC与控制主机之间不同类型的数字信号传输,解决新编程序与现有工业控制体系之间的通讯与信息交互问题。为实现上述目的,本专利技术实施例提供一种基于Python语言的数字信号通讯装置,所述通讯装置包括控制主机,所述控制主机配置有数据循环读取模块、进制转换模块、字符串判断模块、数据类型转换模块和数据回传模块;所述数据循环读取模块用于控制主机循环获取PLC发送的开关量信号数据;所述进制转换模块与所述数据循环读取模块建立连接关系,进制转换模块用于对PLC发送的开关量信号数据进行进制转换;所述字符串判断模块与所述进制转换模块建立连接关系,字符串判断模块用于进制转换后的开关量信号数据进行字符串判断;所述数据类型转换模块与所述字符串判断模块建立连接关系,数据类型转换模块用于对开关量信号数据进行字符串类型转换;所述数据回传模块与所述数据类型转换模块建立连接关系,数据回传模块用于控制主机将开关量信号数据发送到PLC。作为基于Python语言的数字信号通讯装置的优选方案,所述通讯装置还包括USB接口模块,所述USB接口模块与所述数据循环读取模块和数据回传模块建立连接关系,USB接口模块用于控制主机与PLC进行数据通讯。作为基于Python语言的数字信号通讯装置的优选方案,所述通讯装置还包括串口继电器模块,所述串口继电器模块通过所述USB接口模块与所述控制主机建立连接关系,串口继电器模块用于通过继电器接口供控制主机与PLC发送对应于继电器接口的开关量信号。作为基于Python语言的数字信号通讯装置的优选方案,所述通讯装置还包括发送时间设定模块,所述发送时间设定模块与所述数据回传模块建立连接关系,发送时间设定模块用于对控制主机向PLC发送开关量信号数据的周期时间进行设定。作为基于Python语言的数字信号通讯装置的优选方案,所述通讯装置还包括发送接口指定模块,所述发送接口指定模块与所述数据回传模块建立连接关系,发送接口指定模块用于在控制主机发送开关量信号给PLC的过程中对继电器接口进行指定。本专利技术实施例还提供一种基于Python语言的数字信号通讯方法,所述通讯方法包括以下步骤:步骤一:控制主机通过Python语言程序段监控指定的COM口,当打开串口后调用数据循环读取模块循环获取PLC发送的开关量信号数据;步骤二:调用进制转换模块对PLC发送的开关量信号数据进行进制转换,将获取开关量信号数据转为16进制;步骤三:调用字符串判断模块对进制转换后的开关量信号数据进行字符串判断;步骤四:在Python语言程序的自定义函数中执行指定串发送数据的方式,调用数据类型转换模块对开关量信号数据进行字符串类型转换;步骤五:调用发送接口指定模块对控制主机发送开关量信号给PLC过程中的继电器接口进行指定,调用数据回传模块控制主机将开关量信号数据发送到PLC。作为基于Python语言的数字信号通讯方法的优选方案,所述步骤五中还包括,调用发送时间设定模块对控制主机向PLC发送开关量信号数据的周期时间进行设定。作为基于Python语言的数字信号通讯方法的优选方案,所述步骤五中,数据回传模块在发送开关量信号给PLC的过程中,发送接口指定模块指定的Y0或Y1继电器接口发送开关量信号数据,数据格式采用16进制数据包。作为基于Python语言的数字信号通讯方法的优选方案,所述控制主机和串口继电器模块通过USB接口模块物理连接,控制主机通过COM口与串口继电器模块产生通信,串口继电器模块和PLC物理相连,当控制主机发送数据至串口继电器模块时,串口继电器模块通过Y0或Y1继电器接口将开关量信号数据发送给PLC,当PLC触发信号时,通过Python语言程序监控串口继电器模块的指定COM口获取PLC发送的开关量信号数据。作为基于Python语言的数字信号通讯方法的优选方案,控制主机通过USB接口模块连接8路串口继电器模块进行硬件物理上的通信,数据循环读取模块使用串口通信的方式实时获取PLC发送的开关量信号,并通过高级编程语言Python自带的程序类库Serial控制物理连接的COM口的开关。本专利技术实施例具有如下优点:基于Python高级语言的数据循环读取模块、进制转换模块、字符串判断模块、数据类型转换模块和数据回传模块等运用到和工业硬件的通信及工业体系的生产过程中。通过连接串口继电器模块可以方便的控制数据的输出和输入,实现更加有效的和硬件PLC建立高效的消息交互。附图说明图1为本专利技术实施例提供的基于Python语言的数字信号通讯装置示意图;图2为本专利技术实施例提供的串口继电器模块采用干接点连接原理示意图;图3为本专利技术实施例提供的串口继电器模块采用湿接点连接原理示意图;图4为本专利技术实施例提供的基于Python语言的数字信号通讯方法流程图。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合本文档来自技高网
...

【技术保护点】
1.基于Python语言的数字信号通讯装置,其特征在于:所述通讯装置包括控制主机(1),所述控制主机(1)配置有数据循环读取模块(2)、进制转换模块(3)、字符串判断模块(4)、数据类型转换模块(5)和数据回传模块(6);所述数据循环读取模块(2)用于控制主机(1)循环获取PLC发送的开关量信号数据;所述进制转换模块(3)与所述数据循环读取模块(2)建立连接关系,进制转换模块(3)用于对PLC发送的开关量信号数据进行进制转换;所述字符串判断模块(4)与所述进制转换模块(3)建立连接关系,字符串判断模块(4)用于进制转换后的开关量信号数据进行字符串判断;所述数据类型转换模块(5)与所述字符串判断模块(4)建立连接关系,数据类型转换模块(5)用于对开关量信号数据进行字符串类型转换;所述数据回传模块(6)与所述数据类型转换模块(5)建立连接关系,数据回传模块(6)用于控制主机(1)将开关量信号数据发送到PLC。

【技术特征摘要】
1.基于Python语言的数字信号通讯装置,其特征在于:所述通讯装置包括控制主机(1),所述控制主机(1)配置有数据循环读取模块(2)、进制转换模块(3)、字符串判断模块(4)、数据类型转换模块(5)和数据回传模块(6);所述数据循环读取模块(2)用于控制主机(1)循环获取PLC发送的开关量信号数据;所述进制转换模块(3)与所述数据循环读取模块(2)建立连接关系,进制转换模块(3)用于对PLC发送的开关量信号数据进行进制转换;所述字符串判断模块(4)与所述进制转换模块(3)建立连接关系,字符串判断模块(4)用于进制转换后的开关量信号数据进行字符串判断;所述数据类型转换模块(5)与所述字符串判断模块(4)建立连接关系,数据类型转换模块(5)用于对开关量信号数据进行字符串类型转换;所述数据回传模块(6)与所述数据类型转换模块(5)建立连接关系,数据回传模块(6)用于控制主机(1)将开关量信号数据发送到PLC。2.根据权利要求1所述的基于Python语言的数字信号通讯装置,其特征在于:所述通讯装置还包括USB接口模块(7),所述USB接口模块(7)与所述数据循环读取模块(2)和数据回传模块(6)建立连接关系,USB接口模块(7)用于控制主机(1)与PLC进行数据通讯。3.根据权利要求2所述的基于Python语言的数字信号通讯装置,其特征在于:所述通讯装置还包括串口继电器模块(8),所述串口继电器模块(8)通过所述USB接口模块(7)与所述控制主机(1)建立连接关系,串口继电器模块(8)用于通过继电器接口供控制主机(1)与PLC发送对应于继电器接口的开关量信号。4.根据权利要求1所述的基于Python语言的数字信号通讯装置,其特征在于:所述通讯装置还包括发送时间设定模块(9),所述发送时间设定模块(9)与所述数据回传模块(6)建立连接关系,发送时间设定模块(9)用于对控制主机(1)向PLC发送开关量信号数据的周期时间进行设定。5.根据权利要求1所述的基于Python语言的数字信号通讯装置,其特征在于:所述通讯装置还包括发送接口指定模块(10),所述发送接口指定模块(10)与所述数据回传模块(6)建立连接关系,发送接口指定模块(10)用于在控制主机(1)发送开关量信号给PLC的过程中对继电器接口进行指定。6.基...

【专利技术属性】
技术研发人员:段艺霖
申请(专利权)人:上海蝶鱼智能科技有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1