当前位置:首页 >> 机械/仪表 >>

VB下的PLC通讯以及在壁面清洗机器人监控中的应用




卷第 期 年 月
2 2 2

机器人 ΡΟΒΟΤ

?

文章编号

? Β 下的 ΠΛΧ 通讯以及在壁面清洗机器人监控中的应用
谈士力


Ξ

沈俊杰

张海洪

/>龚振邦

上海大学机电工程与自动化学院精密机械工程系特种机器人技术应用研究室

要 结合 ΟΜ Ρ Ο Ν ΧΘΜ 型可编程控制器特点 通过壁面清洗机器人监控系统的具体程序 系统地阐述了

? Β 下的 ΠΛΧ 与上位计算机通讯程序的设计方法和使用要点

关键词 可编程序控制器 上位计算机 通讯 壁面清洗机器人 中图分类号
ΤΠ

文献标识码

Β

ΧΟΜ Μ Υ ΝΙΧΑΤ ΙΟΝ ΒΕ Τ? Ε Ε Ν ΠΛΧ ΑΝΔ ΠΧ ΧΟΜ ΠΥ ΤΕ Ρ Υ ΝΔ Ε Ρ ? Β Ε Ν? ΙΡ ΟΝΜ Ε ΝΤ ΑΝΔ ΙΤ Σ ΑΠΠΛΙΧΑΤΙΟΝ ΙΝ ΧΟΝΤ Ρ ΟΛ ΣΨΣΤΕ Μ ΟΦ ? ΑΛΛ ?ΧΛΕ ΑΝΙΝΓ Μ ΟΒΙΛΕ Ρ ΟΒΟΤ
× ≥ 2 ≥ ∞ ∏ 2 2
Δ επ τ οφ Πρεχισ Μ εχηανιχαλ Ε νγ ινεερινγ ε

2
Σ ηανγ ηαι Υ νι?ερσ ψ ιτ

Λαβ οφ Α δ ?ανχεδ Ρ οβοτ Τ εχηνολ ψ ανδ Αππ λ ογ ιχατιον

Αβστραχτ × ∏ ∏ ∏ √ Κ εψωορδσ ∏ ∏ ≤± ≥ ? √

∏ ∏ ×

° ≤ ∏ ? ∏ 2 ∏

°≤

∏ ° ≤ ∏ ?

1

引言 Ιντροδυχτιον
由于可靠性高! 适应性好! 接口功能强! 体积小

?

? ? ≥ 开发系统 是可视化的! 面向对象! 采用

事件驱动方式的高级程序设计语言 尤其是它提供 了一个预定义对象 ) ) 通讯控件 通过设 ≥≤ 置该对象的属性 向对象发送信息 以及为对象事件 编写响应代码 可以很方便地完成用户应用程序之 间的 串 行 通 讯 对 于 通 过 串 行 口 进 行 数 据 通 讯 的
° ≤ 与上位计算机组成的监控系统 它提供了稳定!

以及组态灵活等优点 ° ≤ 在工业控制领域得到了 广泛应用 但是 ° ≤ 无法单独构成完整的控制系统 无法进行复杂的运算和显示各种实时控制图表和曲 线 无良好的用户界面 不便于监控 在实际的工程 应用中一般与上位计算机组成分布式 分级型控制 系统 这就需要使用 ° ≤ 的通讯技术 在我们设计 的壁面清洗机器人监控系统中 ° ≤ 作为下位机 用 来完成控制量的输出! 传感器数据的采集等工作 上 位机采用个人计算机 °≤ 用来完成传感数据分析! 运动规划 状态显示等功能 实现对壁面清洗机器人 的实时监控 为实现 ° ≤ 与上位计算机的数据通讯 有多种 开发平台可以使用 其中 ≥ ? 是一套完全独立的
Ξ

可靠的通讯

2

ΠΛΧ 与 上 位 机 的 通 讯 协 议 ΠΧ

Χομ μ υνι?

χατιον προτοχαλ βετωεεν ΠΛΧ ανδ μ αστερ
通讯协议包括两方面的内容 一是通讯接口 二 是通讯方式 ° ≤ 与上位机一般采用 ≥2 异步串行通讯方式 的 ≤° ≤± 接口的 单元本

基金项目 国家高科技 收稿日期

资助项目



卷第



谈士力等

?

下的 ° ≤ 通讯以及在壁面清洗机器人的监控应用

身带有 ≥2 ≤ 接口 可直接使用该端口与上位机 进行 ≥2 ≤ 串行通讯 通讯方式有两种 一种是上 位机始终具有初始传送优先权 所有的通讯均由上 位机来启动 ≤ ± 总是处于被动状态 另一种是 ° ≤ 具有优先权 命令由 ° ≤ 发送至上位机 我们

设计的监控系统中采用第一种通讯方式
° ≤ 与上位机的数据通讯是以/ 帧0 为单位进行

的 帧的格式如图 ! 所示 命令帧由上位机发送给 ° ≤ 应答帧为 ° ≤ 接收到命令帧后自动向上位机 发送的应答信号


? ≤

命令帧
?



响应帧

在帧的传送格式中 / 0 为起始符 节点号为 用于标识和上位机通讯的 2 ° ≤ 的编号 设定 我们设计的壁面清 ° ≤ 由° ≤ 中? 洗机器人监控系统中 只有一个下位 ° ≤ 其节点号 为 标题码为一个 字符的命令代码 用来标明帧 的功能 例如 ?!? ? 分别为读! 写 ? 数据区的标 题码 ? ≤ ≥ 为一个 字符的帧检查次序代码 即从 帧起始位 到帧数据结束 ? ≤ ≥ 前 之前的数据进行
, 3 ≤ / 异或0 运算的结果 用来检查帧的传送结果 例如计

形式 / 为波特率 ° 为奇偶校 ° ? ≥0 验 ? 为数据位数 ≥ 为停止位数 在实现上位机和
° ≤ 的通讯中 ≥

属性值的设置应该根据下

位 ° ≤ 的 ? 单元的值来设定 的标准通讯参数为 / 0 ∞ ≤±
ΠορτΟπεν 属性

设置并返回通讯端口的状态

将°

属性设置为 × ∏ 打开端口 将 ° 2 属性设置为 ? 关闭端口 注意 打开端口

算机发送一命令帧 分别转化为
≥≤

帧中

建立连接之前 必须先用 ≤ 属性 ° !≥ 正确指定端口号 必须是物理或逻辑存在的端口 和 通讯协议 一旦打开端口后 不可以随便更改
≤ ° !≥

为 ? ≤ ≥ 的值 它是由命令帧中

! ! ! ! ! ! ,

码 再化为八位二进制数进行/ 异

属性的设置 如果在程序运行

或0 运算后转化为十六进制的结果 3 和 ≤ 表示帧 结束 响应帧中结束代码为/ 0 标明通讯有效

中必须更改这两项属性 应该先关闭端口 改变设置 值之后 在重新打开端口 端口打开后 就创建了空的接收和发送缓冲区 端口关闭缓冲区被清零
≥≤

3

? Β 的通讯机制和使用要点 ιν ? Β
利用 ? 提供的定时器控件和
≥≤

Χομ μ υ?

νιχατιον μ εχηανισμ ανδ ωορκινγ ουτλ ινε
通讯

控件提供了一系 分配接

列的属性来管理这些缓冲区
ΙνΒυφφερΣιζε 和 ΟυτΒυφφερΣιζε 属 性

收和发送缓冲区内存的大小 缓冲区不能设得太小 至少能够存放最大的接收或发送的数据 否则造成 缓冲区数据溢出的错误
ΙνΒυφφερΧουντ 和 ΟυτΒυφφερΧουντ 属性

控件 可以很方便地编制面向对象的应用程序 命令 传递! 数据交换! 图形显示在定时器控件和通讯控件 中完成 使用
≥≤

分别

通讯控件的第一步是建立与串
° ! °

获得接收缓冲区和发送缓冲区中字节的数目 在程 序执行过程中 将这两个属性的值设置为零 即可清 空接收或发送缓冲区
δ Ρ τηρεσηολ 和 Στηρεσηολ 属性 δ

行口的连接 通过设置 ≤ 属性来打开串行端口 ≥
Χομ μ Πορτ 属性



设置或返回通讯端口号 注 控件对应着一个串行端

设定

≤ 2

意 每个使用的

≥≤

事件发生前 接收或发送缓冲区中可以存放的字节 数 将这两个属性值设置为零 可以抑制相应的


口 如果应用程序要访问多个串行端口 例如应用程 序需要和多个下位 ° ≤ 通讯 必须使用多个使用 控件 ≥≤
Σεττινγ σ 属性

事件发生
Ινπυτ 属性 Ουτπυτ 属性

获取输入缓冲区中的数据 并将保 向发送缓冲区写入数据

以字符串的形式设置或返回串 个设置值组成 有如下的

存在输入缓冲区的数据删除

行通讯协议 该属性值由











ΙνπυτΛεν 属性

设置并返回
≥≤

∏ 属性从接收 ∏ 属性设置为零

冲区的所有内容 通讯程序框图如图 所示 由于每次传送数据 个字符 因此当传送 时 单帧的最大数据容量为

缓冲区读取的字符数 如果把 在使用
∏ 属性时

控件将读取接收缓


? ?

通讯程序框图



?

壁面清洗机器人的监控系统的主控界面

的数据超过


个字符时 应该在传送前分成若干

帧 分段传送 第一帧和中间帧的结尾处用界定符 代替结束符 3 ≤

过人机界面来遥操作机器人 下位 ° ≤ 完成对驱动 电机的变频调速控制! 获取和存储机器人的状态信 息 根据上! 下位机在监控系统的功能分工 两者之 间需要传递的数据有动作命令和状态信息 机器人 的运动速度! 运动方向和运动方式构成一个动作命 令字 壁面障碍信息! 机器人真空吸盘真空度值! 喷 水用电磁阀的开关状态! 滚刷的工作状态! 真空电机 的工作状态构成一个状态信息字 机器人的动作命令字存储在 ? 字中 字的格式如图
? 2? 2?

4

壁面清洗机器人监控系统的实现 Ρ εαλ ?
ιζατιον οφ μ ονιτορ σψστεμ χλ εανινγ ροβοτ
壁面清洗机器人的监控系统的主界面如图 所

φορ ωαλ κινγ

示 上位计算机主要完成运动命令的生成! 在获取机 器人传感器信息的基础上 完成机器人运动在上位 机屏幕上的实时显示 在机器人出现故障时 允许通

所示 工作状态字存储在 所示

字中 字的格式如图


? ≤

命令字
?


?

工作状态字

? 表示该位暂时没有使用 ?

标志位 上位机发送新命令时 置标志位为 ? 表 示命令字已被改变 ° ≤ 读命令字后 重置标志

表示 ° ≤ 已经按照新命令执行动作 因 此在发送新命令时 必须先检查标志位为 以 确认 ° ≤ 是否已读取了上次命 ° ≤ 在读取命

位为



卷第



谈士力等

?

下的 ° ≤ 通讯以及在壁面清洗机器人的监控应用

令字时 也必须先检查标志位 以确认命令字是 否已经改变
? ? ? ?

3



φ

发送命令 读取 ?
° ≤

区的数

据 手动工作 ? 向上运动 ? 向右运动 低速档 ? 中速档 ?
?

∏ 从串行端口 2

工作方式位 ? 运动方向位 ?
?

自动工作 向下运动

读响应
? ?≤ ≥

向左运动 ?

计算效验码 效验码正确 标志位改变 则发送控制命令字
? ° ≤ 3 ≤ φ ∏ ∏ ° ≤ ? ? ∏ ?≤ ≥ × ? ?

运动速度位 ? 高速档

工作状态字标志位 状态改变时 ° ≤ 重新设置 工作状态字 并置标志位为 ? 上位机定时读取 状态字 当 ? 标志位 ? 为
? 时 读取新状态字 并重新置

发送控制命令字 从串行端口读响
2

? ? ? ? ? ? ? ? ? 4 1

障碍信息位 ? 真空度值 ?

无障碍 ? 有障碍 吸盘真空度太低 ? 吸盘


? ? × ?≤ ≥

真空度恰当 ? 吸盘真空度太高 电磁阀 控制位 ? 电磁阀 关闭 ? 电磁阀 打开 电磁阀 电磁阀 控制位 ? 打开 电磁阀 关闭 ? 滚

计算效验码 效验码正确 通讯成功
? 通讯成功

滚刷控制位 ? 滚刷被动运动 ? 刷被驱动 做主动运动 真空电机 真空电机 真空电机 真空电机 的控制位 ? 运行状态 ? 真空电机 的控制位 ? 运行状态 ? 真空电机 的控制位 ? 运行状态 ? 真空电机 的控制位 ? 运行状态 ? 真空电机 控制命令的发送 真空电机 真空电机 真空电机 真空电机 处于停止状态

根据点击按钮的不同 做相应 处于 处于 处于 处于 的处理 完成动画显示和数据处理
∏ 4 2

定时读取机器人的状态信息 启动监控程序之后 利用定时器控件 × 的
×

处于停止状态 处于停止状态 处于停止状态

时间中断事件 ×

定时触发上下位机

的通讯 读取 ° ≤ 存储在 ? 单元 ? 中的机器人工作状态字 在读取完工作状态字之后 必须写 ? 单元 把标志位 ? 置为 通过对 读取的工作状态字适当的处理 最终完成主控界面 各个控件取值的重置以及动画的刷新 程序框架如 下
° √ ? ? ? ? ? ? ≥∏ × × ?

在发送控制命令字之前 必须先形成命令字 命 令字的形成通过分析主控界面上有关对象的取值来 形成 在程序中通过一个函数 来完成次项 功能 在发送命令之前必须读取 ° ≤ 中 ? 单 元的标志位 以确定上一次命令是否已被取走 当操 作者在主控界面上选定了所需的运行速度! 运动方 式 通过点击 ≥ 控件 触发 ≥ ≤ ≤ 事件 在该事件中完成控制命令字的发送 程 ≤ 序框架如下
° √ ? ≥∏ ≥ ≤ ? ≤ ?

形 成 读 取 形 成 写
? ? ?≤ ≥

区的数据命令
? ?

的标志位命令 发送指令 读取 ?
° ≤ ∏ ∏ ° ≤

区的数据
?

3



φ ∏ 从串行端口读响应 2 ? ?≤ ≥

读取 ? 形成控制命令字



元的数据的命令字
? ? ° ≤ ∏ ∏ ? ?≤ ≥ ? ?

计算效验码 效验码正确 标志位改变 则发送控制数据











?

×

统地阐述了在 ?

下的通讯应用程序的设计方法 的通讯控件设计的实时通讯

分析读取的工作状态字 完成 动画刷新以及各控件取值的重置
° ≤ 3 ≤ φ ∏ ∏ ? ? ° ≤ ?≤ ≥ ∏ ? ?

系统运行表明 用 ?

软件可靠! 稳定 很好满足了任务比较简单的实时监 控系统的应用要求 由于篇幅有限不能列出详细的 软件清单 参考文献
公司
≤±

改写 ?

的标志位 从串行
2

端口读响应
? ? × ∞ ∞ ∞ ≥∏ ?≤ ≥

Ρ εφερενχεσ
型 ° ≤ 操作 ! 安装 ! 编程手册

计算响应帧 ? ≤ ≥ 效验码正确 通讯成功
? 通讯成功

冯星华等 ° ≤ 与个人计算机间串行通讯及程序设计 机电一体 化
≈ 美 ∞√ 1 ° ∏ ? ≥ ≥ ≤

从入门到精通 第

版 上海 电子工业出版社

作者简介
谈士力 沈俊杰 术
2 2

男 博士 研究领域 机器人技术应用及机 男 在职博士 研 究 领 域 机 电 一 体 化 技

电一体化

5

结论 Χονχλ υσιον
通过壁面清洗机器人监控系统的具体程序 系

上接第


≤ ∏ 8 2± ? × ∞? 16 × ∏ ≤ ≠ 2? ? ? ∞∞∞ ∏ ≤ ≤ × ∏ 2 5 2 2 2 ×? ≥ ? ∞∞∞ × ∞? ° ≤ ≤ 2 2≤ ? ∞? ∞∞∞ × ≤ ? ∏ ≥

8

结论 Χονχλ υσιον
本文首次提出了末端执行器到机器人参考坐标
ο

的一个恒定旋转矩阵 Ρ ε 使用这个恒定旋转矩阵避 免了计算 Ρ ε 和 Ρ χ 同时将旋转矩阵 Ρ ε Ρ χ 转化为一 个常数矩阵 这样三维目标定位的算法与过程大大简 化 实验证明这种目标定位方法具有精度高 计算简 便的优点 本文提出的目标定位方法可应用于移动式 装配机器人和移动式操作手臂中 参考文献
? ? 13 ? ≤ ° ? 14 ∏ ≤ ∞∞∞ × ≥ ° ≤ 2 2 ≥ ∏ ?
ο ε ο ε

作者简介
熊春山
° 2 ∏ 2

Ρ εφερενχεσ
≥ ∞∞∞ × ∏

2 2 2

男 博士生 研究领域 机器人技术 多传感 男 教授 博士生导师 研究领域 机器人技

器数据融合 智能控制 通信与网络 黄心汉 王 敏 术 多传感器数据融合 智能控制 女 副教授 研究领域 机器人技术 智能传感 器技术 神经网络


相关文章:
plc-vb监控
暂无评价|0人阅读|0次下载|举报文档 plc-vb监控_计算机软件及应用_IT/计算机_...VB下的PLC通讯以及在壁面... 5页 免费 VB的台达PLC与监控计算机... 4页 ...
VB上位机与PLC通信
暂无评价|0人阅读|0次下载|举报文档 VB上位机与PLC通信_IT/计算机_专业资料。随着现代信息技术的发展以及计算机网络的广泛应用, 计算机通信技术已经日趋成熟。 作为...
第8章 PLC的通信功能及应用
暂无评价|0人阅读|0次下载|举报文档 第8章 PLC的...PLC 进行监控,均开发了各自的 PLC 通讯技术及 PLC...可寻址的寄存器地址为 RCV EN TBL PORT 237 VB、...
plc通讯
暂无评价|0人阅读|0次下载|举报文档plc通讯_调查/...PLC 通信技术及应用 引言 近几年来,PLC 因其可靠...在 该系统中,主局的通信软件编制采用 VB6.0。 ...
PLC在机器人喷涂生产线控制中的应用
PLC在机器人喷涂生产线控制中的应用_资格考试/认证_教育专区。PLC在机器人喷涂...系统中用作 下位机的可编程控制器的作用,与计算机的通讯,程序设计方法及主 要...
一个用VB与ORMON PLC通信的例子
一个用VB与ORMON PLC通信的例子_计算机软件及应用_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档 一个用VB与ORMON PLC通信的例子_计算机软件及应用_IT...
基于VB和PLC的监控程序设计
暂无评价|0人阅读|0次下载|举报文档 基于VB和PLC的监控程序设计_IT/计算机_专业...基于VB的PLC串行通信的程... 3页 免费 VB下的PLC通讯以及在壁面... 5页 ...
喷涂机器人资料与应用
喷涂机器人资料与应用_信息与通信_工程科技_专业资料...PLC 通过 I/O 模块接收喷房单元内每一台机器人及...使整个系统的监控下按人 的意愿有序而稳定地...
VB与PLC的通信
暂无评价|0人阅读|0次下载|举报文档VBPLC的通信_文化/宗教_人文社科_专业资料...在 FX2 系列 PLC 与计算机的通信中,数据是以桢为单位发送接受的。其中字符 ...
vb与plc通讯2
暂无评价|0人阅读|0次下载|举报文档 通​讯S7-200 PLC 之 PPI 协议 通过硬件和软件侦听的方法,分析 PLC 内部固有的 PPI 通讯协议,然后上位机采 用 VB 编程...
更多相关标签:
库卡机器人与plc通讯 | 机器人与plc通讯 | abb机器人与plc的通讯 | 机器人和plc通讯 | 机器人与plc通讯协议 | 风道清洗机器人 | 中央空调清洗机器人 | 风管清洗机器人 |