研选课堂
HOME
研选课堂
正文内容
示波器plc编程 用示波器看透PLC中ModBus通讯的UART物理传输表达方式
发布时间 : 2024-11-25
作者 : 小编
访问数量 : 23
扫码分享至微信

用示波器看透PLC中ModBus通讯的UART物理传输表达方式

ModBus通信协议

一种串行应用层软件通信协议 ,由Modicon公司(如今的施耐德电气)在1979年为PLC通信而制定。现已成为工业通讯业界标准,并且也设备间常用的通信协议。

UART / 串口

通用异步收发传输器

U niversal

A synchronous

R eceiver/T ransmitter

早于ModBus的硬件通讯器 ,用于并行数据转为串行进行传输,实现增距减线的目的。

同步收发,有时钟线,就像节拍器,打一拍,收发一个数位(0或1),短距离传输还好,长距离传输时钟线就会惹麻烦,这就有了异步收发。

异步收发,没有时钟线,那就得有约定,这个约定就是"UART硬件通讯协议",本文的主角

只有看透了UART物理表达,PLC中ModBus通讯才不会"缺一门"。

下面我将通过示波器,让您看透"UART硬件通讯协议"——物理传输表达方式

ModBus通讯在串行链路上的约定

ModBus协议是一个层级很少的的协议,从应用层直接跨接到数据链路层。

UART是在最底层(第1层)负责用逻辑电平,来把信号,从一端传递到另外一端,并能正确接收。

一个ModBus数据帧是这样约定的,如下图:

UART负责传输的是添加了地址和CRC校验域的串行链路PDU。

每个串行链路PDU,都是由多个字节(8数位组成的最小记录单位)组成,用UART硬件协议格式实施物理传输,如下图:

由于TTL、RS422、RS485、RS232都能表达物理传输的逻辑,为了便于我们识别,我们使用基带信号TTL电平的表达方式来实验。

搭建测试电路 和 程序

1个usb转422通讯接口

1个422转TTL双向接口

1个stc单片机,并编一个echo程序,让收到的信息原样发送出来,同时生成一个波特率脉冲与数据对齐。

RS422实际上是双工的RS485,使用这种接口来下载程序和测试串口,可以使用机载电源,也就是不让usb给系统供电,这是产品化过程中的优化考虑。

下面我们把422通讯线连接起来

接入usb准备下载程序和串口调试

用充电宝,独立给系统供电,与usb供电无关。

接入示波器,通道1观察TXD发送端的TTL波形,通道2,观察程序产生的波特率脉冲,这样有助于我们理解每一个数位是在什么时刻传输的。

示波器解读UART的每一个数位的传送

1、空闲状态

2、发送55H

3、发送56H

4、发送57H

5、发送58H

6、用起始位解读数据位接收的采样过程

所有的UART硬件传输协议,都在上面这些图片里。

8位数据打包成带有校验功能的11位帧进行发送和接收。

ModBus协议规定:

波特率19200bps

偶校验

1位起始位、8位数据位

1位校验位、1位停止位

这样的11位传输格式是必须的,也可以有其他波特率和无校验位(校验位由1填充)的格式也是兼容的。

经济型EtherCAT运动控制器(九):示波器使用

XPLC006E功能简介

XPLC006E是正运动运动控制器推出的一款多轴经济型EtherCAT总线运动控制器,XPLC系列运动控制器可应用于各种需要脱机或联机运行的场合。

XPLC006E自带6个电机轴,最多12轴运动控制(含虚拟轴数),支持12轴直线插补、电子凸轮、电子齿轮、同步跟随、虚拟轴设置等功能。

XPLC006E支持多任务同时运行,同时可以在PC上直接仿真运行,编程方式多种可选,支持ZDevelop软件的Basic/PLC梯形图/HMI组态和常用上位机软件编程。

XPLC006E只支持EtherCAT总线轴,不支持脉冲轴和编码器轴。采用EtherCAT总线与驱动器通讯,1ms的刷新周期。

XPLC006E支持PLC、Basic、HMI组态三种编程方式。PC上位机API编程支持C#、C++、LabVIEW、VB、matlab、Qt、Linux、.Net、iMAC、Python、 ROS等接口。

→此款产品有XPLC004E、XPLC006E、XPLC008E三个不同轴数的型号可选。

XPLC864E功能简介

XPLC864E在XPLC006E的功能基础上做了升级(即上节介绍的XPLC006E的功能都支持),部分资源空间优于XPLC006E,使用方法基本一致,不同之处在于XPLC864E,硬件支持32点输入、32点输出、2个ADC、2个DAC,支持脉冲轴和总线轴混合使用,总实轴轴数为8,除了带EtherCAT接口之外,输出口硬件上可配置为8个轴的脉冲方向信号输出,另带两路编码器输入,可由输入口配置

XPLC864E支持PLC、Basic、HMI组态三种编程方式。PC上位机API编程支持C#、C++、LabVIEW、VB、matlab、Qt、Linux、.Net、iMAC、Python、 ROS等接口。

XPLC系列经济型EtherCAT总线运动控制器支持多种编程方式,支持使用正运动技术自主研发的ZDevelop开发环境的Basic语言和PLC梯形图,上一节讲解了控制器的轴参数与运动指令说明,本节内容主要讲解控制器的示波器使用。

一、示波器的作用

示波器属于程序调试与运行中极其重要的一个部分,用于把肉眼看不到的信号转换成图形,便于研究各种信号变化过程,例如当前轴的速度和位置变化情况。

示波器利用控制器内部处理的数据,每隔一定的时间获取数据的当前值,然后把获取到的该数据的所有值显示成随时间变化的图形,利用示波器可以显示各种不同的信号,如轴参数、轴状态等。

在“视图”→“示波器”中,打开示波器窗口,示波器窗口如下图。

⊙示波器必须先启动后触发才能成功采样。打开示波器,设置好相关参数之后点击“启动”,可点击“手动触发”采样,也可在程序里加入“TRIGGER”指令自动触发示波器采样。

二、示波器面板介绍

1.主界面

示波器主界面的按钮功能阐述。

(1)基础设置

设置: 打开示波器设置窗口,设置示波器相关参数。

启动: 启动示波器(表示示波器准备好,等待触发采样)。

停止: 停止示波器采样。

水平刻度: YT模式下横轴(时间)一格的刻度,其他模式下此参数无效。

<<: 按下隐藏通道名称和峰值显示,只显示通道编号。

连续采集: 不开启连续采集时,到达采样深度后便停止采样,开启了连续采集之后示波器会持续采样。

跟随: 开启跟随后,横轴自动移动到实时采样处,跟随波形显示。

手动触发: 手动触发示波器采样按钮(自动触发使用TRIGGER指令)。

导入导出: 将示波器采样的数据点导出txt文件,再次加载显示点击导入,详细说明参加下节。

(2)显示模式

YT模式: 不同数据源随时间变化的曲线。

XY模式: 显示两个轴在某个平面的合成轨迹,将第一二个通道的曲线合成显示,适用于两轴插补。

XYZ模式: 显示三个轴在空间的合成轨迹,将第一二三个通道的曲线合成显示,适用于三轴插补。

(3)采样数据设置

显示: 选择当前通道曲线是否显示。

编号: 选择需要采集的数据源编号,需参考数据源,如:轴号、数字量IO编号、模拟量IO编号、TABLE编号、VR编号、MODBUS编号等。

数据源: 选择采集的数据类型,如下图,下拉菜单选择,多种类型参数可选。

偏移: 波形纵轴偏移量设置。

垂直刻度: 纵轴一格的刻度。

⊙若要设置示波器参数,如轴编号、数据源以及启动示波器设置窗口,要先停止示波器再设置。

2.设置界面

点击主界面的“设置”按钮,弹出如下图所示“示波器设置”窗口。

通道数 :要采样的数据通道总数,最多支持8通道同时采样。

深度: 总共采样的数据次数,深度越大采样的数据点越多,连续采集模式下此数据无效。

间隔: 采样时间间隔,此参数参考系统周期SERVO_PERIOD,系统周期出厂默认为1ms,即间隔设置为1表示1ms采样一次,系统周期与控制器固件版本有关。一般来说,间隔越小,采样数据越准确,单位时间内数据量越大。

TABLE位置: 设置不开启连续采集时抓取数据存放的位置,一般默认自动使用TABLE数据末尾空间,也可以自定义配置,但是设置时注意不要与程序使用的TABLE数据区域重合;连续采集下采样数据缓存在PC。

背景颜色/通道颜色: 设置背景与每个通道波形对应的颜色。

显示类型: 点和线段两种曲线类型可选。线段是将采样点集拟合成线,更容易发现异常的数据。

导出参数: 需要导出示波器数据时在采样前勾选,等待采样结束,在主界面选择导出。

3.示波器采样数据导入导出

导入: 示波器必须在停止状态下才能导入数据,导入成功能将采样波形复现出来。

导入采样数据方法: 点击“导入”,选择导入的数据文件为之前从示波器导出的文件类型后打开即可。

导出: 导出参数包括示波器参数设置情况,以及各个通道的数据类型和每个采样点的数据。

导出采样数据方法: 先在设置里勾选“导出参数”,启动示波器采样,采样完成后点击“导出”,选择文件夹保存示波器数据,导出数据为文本文件。

如下图,采样轴0的DPOS位置和MSPEED速度两个通道导出的数据。

三、示波器采样方法

1.示波器采样参考步骤

第一步: 打开工程项目,连接控制器或仿真器,再打开示波器窗口(操作示波器窗口之前需要连接到控制器或仿真器才可以操作)。

第二步: 在示波器窗口点击“设置”,选择采样通道数,采样深度,采样间隔,采样数据TABLE存储位置(一般来说自动使用TABLE数组末尾空间即可)和采样类型等,设置完成确认保存当前设置。

第三步: 再选择采样数据编号和数据源

第四步: 参数设置完毕,点击“启动”按钮,等待触发采样。

第五步: 将程序下载到控制器运行,程序里需要包含TRIGGER自动触发示波器采样指令,此时示波器开始采样,显示出不同数据源的波形。可调整显示刻度和波形偏移,便于观察不同波形。

⊙若波形精度不高或显示不完整,可点击“停止”按钮后再打开“设置”,调整好采样间隔和采样深度后重新执行上述采样过程。

⊙若需要采样的时间较长,开启“连续采集”功能。

2.示波器使用注意事项

(1)连续采集功能

不选择连续采集时,到达采样深度后示波器自动停止采样。

在示波器主界面勾选连续采集,再开启示波器,示波器触发采样后会持续采样,到达采样深度后仍继续采样,忽略设置的采样深度,直到按下停止才会停止采样。

连续采集的所有波形采样数据均能导出。

(2)XY模式/XYZ模式

由于这两种采集模式是把前两个/三个通道的数据合成,要注意数据源的类型,有部分数据合成是没有意义的,比如速度和位置曲线的合成曲线便无意义,一般用于查看合成插补轨迹。

(3)示波器采样时间计算

例如: 深度:10000,间隔:5

非连续采集模式下,如果系统周期SERVO_PERIOD=1000,也就是1ms轨迹规划周期,间隔5表示每5ms采集一个数据点,一共采集10000次数据,采集时间长度为50s。

采样时间间隔最小为一个系统周期,设置更小无效。

(4)TABLE数据末尾存储空间计算

非连续采集模式设置抓取数据存放的位置,一般默认自动使用TABLE数据末尾空间,此时根据采样数据占用空间大小自动计算起始空间地址。

计算方法: 采样数据占用空间大小=通道数*深度

例: 若控制器的TABLE空间大小为320000,采样4个通道,深度为30000,每个采样点占用一个TABLE,所以会占用4*30000 = 120000个TABLE位置,320000-120000=200000,此时TABLE的起始位置为200000

数据存放的位置也可以自定义配置,若按上面的通道数和深度,起始TABLE空间自定义时不能超过200000,否则无法设置,如下图所示。

⊙示波器采样数据占用的空间不要与程序使用的TABLE数据区域重合。

⊙控制器TABLE空间大小可使用TSIZE指令读取、在“控制器状态”窗口查看或在线命令“?*max”打印查看。

四、示波器使用例程

1.直线插补的例程

(1)YT模式下三个轴的DPOS位置随时间变化的曲线

(2)XYZ模式下三轴位置合成轨迹,即为实际加工的轨迹

2.自动凸轮飞剪的例程

假设要切的型材长度为4m,工作台运行距离1m,轴1为基本轴(型材传送),轴0为跟随轴(追剪工作台),OUT0口控制刀具,飞剪部分程序如下:

速度和位置的波形如下图 :轴1为匀速运动的传送带,轴0为追剪轴。

工作台(跟随轴)的运动距离: 0.4(加速阶段)+0.2(跟随同步)+0.4(减速阶段)=1m单位,然后-1m返回运动。

型材(参考轴)的运动距离: 1+0.8+0.2+0.8+1.2=4m单位,全程匀速。

3.单轴PSO位置同步输出

硬件比较输出指令触发后,到达比较点输出OP信号,PSO示意图如下图所示,以ZMC432为例进行演示。

位置同步输出示意图

输出随轨迹变化的波形如下图,HW_PSWITCH2控制每到达一个TABLE点位置OP便反转一次,TABLE的所有点比较结束之后,OP不再反转,保持最后一次的电平状态。

4.二维或者三维的PSO输出

二轴PSO位置同步输出,到达比较点输出OP信号,以ZMC432为例进行演示。

PSO功能支持固定周期输出,也支持固定距离输出,如下右图,固定距离输出使得在拐角等需要减速的场合,拐角处的输出也是均匀的,不会堆积。

(1)YT模式下的波形如下图所示

比较20个点,每次比较OP反转一次,每段运动最后部分因为加入了SRAMP速度平滑处理,处于减速段,所以相同距离,运动时间更长,OP反转的时间间隔也相应延长。

(2)XYZ模式下的3D波形如下图所示

本次,正运动技术经济型EtherCAT运动控制器(九):示波器使用,就分享到这里。

更多精彩内容请关注“正运动小助手”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师:400-089-8936。

本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。

相关问答

plc怎么通电测试?

PLC通电测试通常包括以下步骤:首先,确保所有连接好电源线,然后插入电源插座。接着,在PLC控制器上设置开关到“关闭”状态,然后将PLC控制器插入RJ45连接器...

数控机床如何进行报警画面的显示

[回答]--------------------------------------------------------------------------------275062165数控机床维修技术3...

松下plc怎么测量输出端好坏?

1.可以通过测量输出端的电压或电流来判断松下PLC的输出端是否正常工作。2.原因是输出端的电压或电流是衡量输出信号的重要指标,如果输出端的电压或电流与预...

哪位朋友求了解!!如何把电脑模拟成触摸屏与plc连接?,马赛克...

[回答]数据的传输无非0和1,有电和无电。不管你想显示什么,触摸屏最后的结果也就是0和1。电脑也一样。所以示波器可以显示出每条线的波形。根据波形编写译...

怎么看PLC发送的脉冲和驱动器接收的脉冲-158****3239的回...

一般都可以在伺服驱动器中监视脉冲数在U参数(监控参数)里面,你最好翻下手册,这个对自己来说也是个学习.走偏一般就3个原因1联轴器是否固定,(虽然...

怎样测量cclink输出点?

要测量CCLink输出点,首先需要确保CCLink网络连接正常。然后,使用CCLink模块的输入/输出状态指示灯来确定输出点的状态。通过读取PLC程序中的输出位状态,可以进...

2022湖南对口招生考试机电类专业考试基本要求及考试大纲-红...

机电类专业综合知识考试基本要求及考试大纲一、考试基本要求(一)基本知识和基本技能的考试要求1.掌握机电类专业的基础知识、基本概念、基本理论...

modbus通讯故障,有哪些解决方法?-懂得

除了楼上说的外,有条件的可以用示波器或者逻辑分析仪看一下,加上配合电脑分别调整,一定可以找到故障原因。建议做好接地,通讯线躲开大电流的地方,...

jd1a-40调试方法?

要调试JD1A-40,您可以按照以下步骤进行操作:1.首先,确保设备的电源连接正常,并检查所有连接线是否牢固。2.确认设备的设置和参数是否正确,例如速度、加...

有人知道不!专门PLC自动化编程培训就业班,PLC自动化编程培...

[回答]我们是做非标自动化设备的。以前我也和你一样想用PLC控制电调,因为我是做机械结构的,所以找了电控的来试了试。按道理,PLC可以发出电调所需要的调制...

 smartphone手机  布达佩斯起义 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部