CN106182017A - 基于rs485串口总线上位机ipc控制机器人的方法及系统 - Google Patents
基于rs485串口总线上位机ipc控制机器人的方法及系统 Download PDFInfo
- Publication number
- CN106182017A CN106182017A CN201610574351.2A CN201610574351A CN106182017A CN 106182017 A CN106182017 A CN 106182017A CN 201610574351 A CN201610574351 A CN 201610574351A CN 106182017 A CN106182017 A CN 106182017A
- Authority
- CN
- China
- Prior art keywords
- host computer
- plc
- data
- ipc
- serial bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
Abstract
本发明提供了一种基于RS485串口总线上位机IPC控制机器人的方法及系统,包括步骤1:基于RS485串口总线建立上位机IPC与PLC之间的通讯;步骤2:上位机IPC通过RS485串口总线向PLC发送字符串;步骤3:PLC对接收到的字符串进行解析后对字符串进行写变量操作和读变量操作,如果为读操作,PLC将包含变量的字符串打包发送至IPC;步骤4:IPC对接收到的打包数据进行解析,获得PLC的变量值;步骤5:IPC根据变量值获得机器人的运行状态,并根据运行状态向PLC发送新的字符串,实现上位机IPC对机器人的控制。本发明将对机器人的控制集成到IPC上开发的软件中,通讯可靠,错误率低,可操作性强。
Description
技术领域
本发明涉及机器人控制领域,具体地,涉及一种基于RS485串口总线上位机IPC控制机器人的方法及系统,即基于RS485(或RS232、RS422)串口总线,上位机IPC与PLC通讯,进而实现对机器人的控制。
背景技术
mxAutomation是德国库卡机器人提供的软件接口。通过此软件接口,可以实现PLC控制机器人,使机器人可以完全集成到用户的控制系统中。在这个过程中,保留了KUKA控制器KR C4compact以及现有的机械结构。因此,对于系统集成用户而言,可以方便地使用KUKA现有的运动函数,以及安全函数。
PLC(Programmable Logic Controller,可编程逻辑控制器),它是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它具有可靠性高,环境适应性强、灵活通用、使用方便等优点。
尽管mxAutomation为PLC提供了丰富的接口,可以通过PLC实现机器人的所有功能,但是上位机不能通过主程序完全控制机器人。为了保证主程序可以稳定、准确的控制机器人,让其按照指定的路径运动;机器人的当前状态(包括当前错误信息,当前位置等信息)可以实时地显示到上位机的控制台;可以远程消除机器人的报警、错误信息,使其可以继续运动(或者撤回)。必须通过某种机制实现IPC(Industrial Personal Computer,工业个人计算机)与机器人之间的稳定、可靠通讯,从IPC角度来看,机器人相当于其一个外部设备,可以随时读取/改变其状态。因此,有必要提供这种IPC与PLC通讯控制方法,以实现IPC直接控制机器人。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于RS485串口总线上位机IPC控制机器人的方法及系统。
根据本发明提供的基于RS485串口总线上位机IPC控制机器人的方法,包括如下步骤:
步骤1:基于RS485串口总线建立上位机IPC与PLC之间的通讯;
步骤2:上位机IPC通过RS485串口总线向PLC发送字符串;
步骤3:PLC对接收到的字符串进行解析以实现写变量或读变量操作,如果为读操作,PLC将包含变量的字符串打包发送至上位机IPC;
步骤4:上位机IPC对接收到的打包数据进行解析,获得PLC的变量值;
步骤5:上位机IPC根据变量值获得机器人的运行状态,并根据运行状态向PLC发送新的字符串,实现上位机IPC对机器人的控制。
优选地,所述步骤1还包括:设置上位机IPC与PLC的端口参数与RS485串口总线的通讯端口参数一致,所述端口参数包括:波特率,数据位,校验位,停止位。
优选地,还包括:校验步骤,即对上位机IPC发送给PLC的数据进行校验,以及对PLC发送给上位机IPC的数据进行校验;当数据校验成功时,上位机IPC确认PLC已接收到数据;或者PLC发送的数据有效,上位机IPC进行相应地解析;当数据校验失败时,舍弃相应的数据。
优选地,所述步骤3中的写变量的字符串遵循如下协议:起始字符、机器人选择、功能码、变量代号、变量目标值、终止字符;
所述步骤3中在读变量时,PLC打包的包含变量值的字符串遵循如下协议:起始字符,5个BOOL、5个INT、5个DINT、6个REAL数据类型,终止字符。
优选地,还包括:通讯数据的校验步骤;
具体地,对于上位机IPC到PLC的数据,PLC将接收到的数据返还给上位机IPC,上位机IPC将该数据与之前发送给PLC的数据进行比较,如果数据一致,则确认PLC已收到该数据;如果不一致,则重新发送;
而对于PLC到上位机IPC的数据,IPC对接收到的数据,验证该数据的首尾是否包含“\r”来校验,若数据的首尾包含“\r”,则验证成功,若数据的首尾不包含“\r”,则验证失败。
根据本发明提供的基于RS485串口总线上位机IPC控制机器人的系统,包括:多台机器人、交换机、上位机IPC以及PLC;上位机IPC通过RS485串口总线建立与PLC的通信,所述PLC与交换机相连,其中,所述多台机器人均能够通过交换机的局域网络与PLC进行数据传输。
优选地,所述机器人为KUKA机器人,型号为:KR 10R900SIXX,控制器型号:KRC4Compact。
优选地,所述交换机型号为:Rockwell 1783-US8T。
优选地,所述PLC型号为:Rockwell 1769-L33ER。
优选地,所述上位机IPC的配置为:凌华RK-608MB机箱,Intel Core i5,8GB RAM。
与现有技术相比,本发明具有如下的有益效果:
目前IPC与PLC的通讯都是通过某种现有的协议,如基于Modbus/TCP协议;或者基于组态软件的通讯(如西门子的WinCC)。本发明基于RS485总线(也可以用RS232、RS422总线),这是大多数PLC都有的接口,因此适用性更广。另外,本发明提供的基于RS485总线的上位机IPC与PLC通讯控制方法,将PLC对机器人的控制间接地转移到IPC对机器人的控制,可以更加方便的在IPC上开发相应的软件,将对机器人的控制集成进去,从而实现对机器人的控制。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的系统构成图;
图2为本发明IPC与PLC的通讯协议,适用于IPC发送给PLC的字符串;
图3为本发明IPC与PLC的通讯协议,适用于PLC发送给IPC的字符串;
图4为本发明的PLC程序架构示意图;
图5为本发明的上位机程序架构示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
根据本发明提供的基于RS485串口总线上位机IPC控制机器人的方法,包括如下步骤:
步骤1:基于RS485串口总线建立上位机IPC与PLC之间的通讯;
步骤2:上位机IPC通过RS485串口总线向PLC发送字符串;
步骤3:PLC对接收到的字符串进行解析以实现写变量或读变量操作,如果为读操作,PLC将包含变量的字符串打包发送至上位机IPC;
步骤4:上位机IPC对接收到的打包数据进行解析,获得PLC的变量值;
步骤5:上位机IPC根据变量值获得机器人的运行状态,并根据运行状态向PLC发送新的字符串,实现上位机IPC对机器人的控制。
所述步骤1还包括:设置上位机IPC与PLC的端口参数与RS485串口总线的通讯端口参数一致,所述端口参数包括:波特率,数据位,校验位,停止位。
所述基于RS485串口总线上位机IPC控制机器人的方法还包括:校验步骤,即对上位机IPC发送给PLC的数据进行校验,以及对PLC发送给上位机IPC的数据进行校验。当数据校验成功时,上位机IPC确认PLC已接收到数据;或者PLC发送的数据有效,上位机IPC进行相应地解析。当数据校验失败时,舍弃相应的数据。
所述步骤3中的写变量的字符串遵循如下协议:起始字符、机器人选择、功能码、变量代号、变量目标值、终止字符;
所述步骤3中在读变量时,PLC打包的包含变量值的字符串遵循如下协议:起始字符,5个BOOL、5个INT、5个DINT、6个REAL数据类型,终止字符。
所述基于RS485串口总线上位机IPC控制机器人的方法还包括:通讯数据的校验步骤。
具体地,对于上位机IPC到PLC的数据,PLC将接收到的数据返还给上位机IPC,上位机IPC将该数据与之前发送给PLC的数据进行比较,如果数据一致,则确认PLC已收到该数据;如果不一致,则重新发送。
而对于PLC到上位机IPC的数据,IPC对接收到的数据,验证该数据的首尾是否包含“\r”来校验,若数据的首尾包含“\r”,则验证成功,若数据的首尾不包含“\r”,则验证失败。
根据本发明提供的基于RS485串口总线上位机IPC控制机器人的系统,包括:多台机器人、交换机、上位机IPC以及PLC;上位机IPC通过RS485串口总线建立与PLC的通信,所述PLC与交换机相连,其中,所述多台机器人均能够通过交换机的局域网络与PLC进行数据传输。
所述机器人为KUKA机器人,型号为:KR 10R900SIXX,控制器型号:KR C4Compact。
所述交换机型号为:Rockwell 1783-US8T。
所述PLC型号为:Rockwell 1769-L33ER。
所述上位机IPC的配置为:凌华RK-608MB机箱,Intel Core i5,8GB RAM。
如图1所示,包括IPC1、PLC2、交换机3、机器人4、5。所述的PLC2与机器人4、5在由交换机2组成的同一局域网内,它们之间的通讯为Ethernet/IP;所述的IPC1与PLC2通过RS485总线进行连接。
如图2所示为所述的上位机发送给PLC的字符串,包含:起始字符6,用于PLC接收串口数据的标识符,当PLC接收到起始字符时,PLC开始存储;机器人选择7,用于选择相应机器人来控制;功能码8:用于指定对不同变量数据类型进行写操作;变量代号9,每个变量在该数据类型下对应的唯一编号;变量目标值10,写变量时,给变量赋此值;终止字符11,用于PLC接收串口数据的标识符,当PLC接收到终止字符时,PLC停止存储。其中“#”字符用于分隔相邻字符,方便PLC程序的解析。PLC接收到上述字符串后,自动回发给上位机,上位机将之与之前发送的字符串进行比较,完成校验,确保PLC已正确接收到数据。
如图3所示为所述的PLC打包后发送给上位机的字符串。起始字符12、终止字符17用于上位机程序对PLC发送的数据进行校验,当该字符串包含12、17时,表示上位机接收到的数据有效;5个BOOL量13,包含5个BOOL数据类型,按照二进制的方式存储,类似于00000101(仅后五位有效);5个INT量14,包含5个INT类型数据,彼此之间以“#”分隔;5个DINT量15,包含5个DINT类型数据,彼此之间以“#”分隔;6个REAL量16包含6个REAL类型数据,彼此之间以“#”分隔。
图4所示为所述的PLC程序流程图。由于IPC读PLC变量基于写PLC变量,因此在初始化S1后,PLC接收IPC发来的字符串S2,通过对字符串的解析S3,写相应的BOOL、INT、Position变量S4,从而执行相应的KUKA指令S5-1。另外,通过写BOOL变量,执行Any2String功能块,最后使能串口发送字符串S5-2。
图5所示为所述的IPC程序流程图。首先启动程序S6,然后启动UI主线程S7-1:负责处理用户对界面的操作,显示相应的数据;串口接收线程S7-2:负责接收串口数据,其中包括对接收到(PLC返回的)数据进行校验;从PLC发送的字符串中解析出相应的变量值。在需要读/写PLC变量S8-1/S8-2时启动串口发送线程S9:负责发送串口数据,实现写PLC变量。
下面以上位机使用串口通讯程序,其它硬件如优选方案所述,给出一个具体的通讯控制过程。
当上位机要更改PLC内部变量代号为“001”的INT数据类型,使其值为2,该变量对应于#1机器人,那么上位机发送的字符串为“\r01#02#001#2\r”,PLC接收到此字符串后,更改相应的变量,并自动回发,上位机将PLC回发的字符串与之前发送的字符串比较,如果相同,证明PLC已正确接收到数据。
当上位机要读PLC内部的数据,首先在PLC程序中将需要读取的变量打包成一个字符串(通过相应的功能块函数);然后控制PLC发送此字符串。
即上位机先发送字符串:
“\r01#01#009#1\r”(执行字符串打包功能块)
“\r01#01#010#1\r”(PLC串口数据的发送使能)
PLC就将字符串:
“\r#21#1#2#3#4#5#11#22#33#44#55#11.11#22.22#33.33#44.44#55.55#66.66#\r”发送到上位机,上位机从中解析出相应的变量值。
实践证明,本发明所涉及的这种基于RS485串口总线,上位机IPC与PLC通讯控制机器人的方法,通讯可靠,错误率极低,而且可操作性强,实现了对两台(也可以是多台)机器人的控制。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (10)
1.一种基于RS485串口总线上位机IPC控制机器人的方法,其特征在于,包括如下步骤:
步骤1:基于RS485串口总线建立上位机IPC与PLC之间的通讯;
步骤2:上位机IPC通过RS485串口总线向PLC发送字符串;
步骤3:PLC对接收到的字符串进行解析以实现写变量或读变量操作,如果为读操作,PLC将包含变量的字符串打包发送至上位机IPC;
步骤4:上位机IPC对接收到的打包数据进行解析,获得PLC的变量值;
步骤5:上位机IPC根据变量值获得机器人的运行状态,并根据运行状态向PLC发送新的字符串,实现上位机IPC对机器人的控制。
2.根据权利要求1所述的基于RS485串口总线上位机IPC控制机器人的方法,其特征在于,所述步骤1还包括:设置上位机IPC与PLC的端口参数与RS485串口总线的通讯端口参数一致,所述端口参数包括:波特率,数据位,校验位,停止位。
3.根据权利要求1所述的基于RS485串口总线上位机IPC控制机器人的方法,其特征在于,还包括:校验步骤,即对上位机IPC发送给PLC的数据进行校验,以及对PLC发送给上位机IPC的数据进行校验;当数据校验成功时,上位机IPC确认PLC已接收到数据;或者PLC发送的数据有效,上位机IPC进行相应地解析;当数据校验失败时,舍弃相应的数据。
4.根据权利要求1所述的基于RS485串口总线上位机IPC控制机器人的方法,其特征在于,所述步骤3中的写变量的字符串遵循如下协议:起始字符、机器人选择、功能码、变量代号、变量目标值、终止字符;
所述步骤3中在读变量时,PLC打包的包含变量值的字符串遵循如下协议:起始字符,5个BOOL、5个INT、5个DINT、6个REAL数据类型,终止字符。
5.根据权利要求1所述的基于RS485串口总线上位机IPC控制机器人的方法,其特征在于,还包括:通讯数据的校验步骤;
具体地,对于上位机IPC到PLC的数据,PLC将接收到的数据返还给上位机IPC,上位机IPC将该数据与之前发送给PLC的数据进行比较,如果数据一致,则确认PLC已收到该数据;如果不一致,则重新发送;
而对于PLC到上位机IPC的数据,IPC对接收到的数据,验证该数据的首尾是否包含\r来校验,若数据的首尾包含\r,则验证成功,若数据的首尾不包含\r,则验证失败。
6.一种基于RS485串口总线上位机IPC控制机器人的系统,其特征在于,包括:多台机器人、交换机、上位机IPC以及PLC;上位机IPC通过RS485串口总线建立与PLC的通信,所述PLC与交换机相连,其中,所述多台机器人均能够通过交换机的局域网络与PLC进行数据传输。
7.根据权利要求6所述的基于RS485串口总线上位机IPC控制机器人的系统,其特征在于,所述机器人为KUKA机器人,型号为:KR 10 R900 SIXX,控制器型号:KR C4 Compact。
8.根据权利要求6所述的基于RS485串口总线上位机IPC控制机器人的系统,其特征在于,所述交换机型号为:Rockwell 1783-US8T。
9.根据权利要求6所述的基于RS485串口总线上位机IPC控制机器人的系统,其特征在于,所述PLC型号为:Rockwell 1769-L33ER。
10.根据权利要求6所述的基于RS485串口总线上位机IPC控制机器人的系统,其特征在于,所述上位机IPC的配置为:凌华RK-608MB机箱,Intel Core i5,8GB RAM。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610574351.2A CN106182017A (zh) | 2016-07-20 | 2016-07-20 | 基于rs485串口总线上位机ipc控制机器人的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610574351.2A CN106182017A (zh) | 2016-07-20 | 2016-07-20 | 基于rs485串口总线上位机ipc控制机器人的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106182017A true CN106182017A (zh) | 2016-12-07 |
Family
ID=57494675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610574351.2A Pending CN106182017A (zh) | 2016-07-20 | 2016-07-20 | 基于rs485串口总线上位机ipc控制机器人的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106182017A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107770286A (zh) * | 2017-11-14 | 2018-03-06 | 佛山市宏石激光技术有限公司 | 一种kuka机器人之间的通讯系统及其通讯方法 |
CN108332833A (zh) * | 2018-02-07 | 2018-07-27 | 钱立文 | 一种膜卷重量读入及传输系统 |
CN114770566A (zh) * | 2022-04-13 | 2022-07-22 | 苏州佳祺仕信息科技有限公司 | 一种基于网络通讯的机械手控制系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103488175A (zh) * | 2013-09-26 | 2014-01-01 | 上海海事大学 | 一种自治遥控水下机器人水下管道检测跟踪系统及检测方法 |
CN103809560A (zh) * | 2014-01-20 | 2014-05-21 | 李鑫 | 基于直线电机、一体电脑和plc的多轴运动控制系统 |
CN204231540U (zh) * | 2014-09-29 | 2015-03-25 | 天津滨孚企业管理咨询有限公司 | 一种焊工多媒体平台 |
CN105479176A (zh) * | 2015-12-29 | 2016-04-13 | 上海发那科机器人有限公司 | 一种采用微量润滑系统的机器人钻铣装置及方法 |
-
2016
- 2016-07-20 CN CN201610574351.2A patent/CN106182017A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103488175A (zh) * | 2013-09-26 | 2014-01-01 | 上海海事大学 | 一种自治遥控水下机器人水下管道检测跟踪系统及检测方法 |
CN103809560A (zh) * | 2014-01-20 | 2014-05-21 | 李鑫 | 基于直线电机、一体电脑和plc的多轴运动控制系统 |
CN204231540U (zh) * | 2014-09-29 | 2015-03-25 | 天津滨孚企业管理咨询有限公司 | 一种焊工多媒体平台 |
CN105479176A (zh) * | 2015-12-29 | 2016-04-13 | 上海发那科机器人有限公司 | 一种采用微量润滑系统的机器人钻铣装置及方法 |
Non-Patent Citations (1)
Title |
---|
韩光辉: "《嵌入式系统开发》", 31 January 2015, 机械工业出版社 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107770286A (zh) * | 2017-11-14 | 2018-03-06 | 佛山市宏石激光技术有限公司 | 一种kuka机器人之间的通讯系统及其通讯方法 |
CN108332833A (zh) * | 2018-02-07 | 2018-07-27 | 钱立文 | 一种膜卷重量读入及传输系统 |
CN108332833B (zh) * | 2018-02-07 | 2020-01-03 | 钱立文 | 一种膜卷重量读入及传输系统 |
CN114770566A (zh) * | 2022-04-13 | 2022-07-22 | 苏州佳祺仕信息科技有限公司 | 一种基于网络通讯的机械手控制系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106182017A (zh) | 基于rs485串口总线上位机ipc控制机器人的方法及系统 | |
CN102890453B (zh) | 用于功能块实例化的系统和方法 | |
CN103533019B (zh) | 远程管理方法及使用该方法的远程管理装置 | |
CN104407856B (zh) | 软件工具开发包文件的打包方法和装置 | |
CN103078938B (zh) | 一种远程访问控制系统及方法 | |
CN106936633B (zh) | 一种应用安装包制作的方法及服务器 | |
CN110967969B (zh) | 高可用性工业自动化系统及通过该系统传送信息的方法 | |
CN106713357A (zh) | 一种通用的网络协议解析方法 | |
CN110780615A (zh) | 在高可用性工业控制系统上传输数据的系统和方法 | |
CN104007984B (zh) | 一种转换数据的方法及装置 | |
CN108134690A (zh) | 网络业务部署流程控制方法、装置及系统 | |
EP1906278B1 (en) | Multi-rate optimized connection between an input/output scanner and an industrial controller | |
CN105068886A (zh) | 基于GoldenGate的灾备智能切控制方法 | |
CN102622550A (zh) | 面向终端计算机的补丁安全在线检查系统 | |
CN104977892A (zh) | 可编程逻辑控制器用程序的创建支持装置 | |
CN105183572A (zh) | 一种电力通讯规约的组态方法及装置 | |
US20170163768A1 (en) | Method and apparatus for expanding transactions in opc ua | |
CN107803845A (zh) | 一种工业机器人的示教方法及系统 | |
CN113986985A (zh) | 能源管理的io读取方法、系统、设备及存储介质 | |
CN207010704U (zh) | 一种转换装置以及控制系统 | |
CN106209656A (zh) | 路由器升级系统、方法及路由器 | |
CN106874150A (zh) | 一种虚拟机高可用容灾方法及其系统 | |
CN103546527B (zh) | 一种可扩展的工业组态或仿真软件通信方法 | |
CN111182031B (zh) | Plc设备远程下载方法及系统 | |
CN205594417U (zh) | 一种可配置的现场总线系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161207 |