LM3108与仪表485自由口通讯解析与PLC程序示例
需积分: 49 39 浏览量
更新于2024-08-09
收藏 3.44MB PDF 举报
"自由口通讯使用举例-optimal control (3rd edition)."
在本文中,我们将深入探讨自由口通讯(Freeport Communication)的应用,特别是在与LM3108模块的交互中。自由口通讯允许用户自定义串行通信的协议,以适应特定的设备或系统需求。这里以一个检测仪表与LM3108模块之间进行485自由口通讯的实例进行讲解。
首先,我们要了解仪表的协议格式。这是一个18字节的自由协议格式,包含起始符STX(02H)、状态字ABC、重量、皮重、回车以及校验位CKS。状态字A的三位(Bit0、Bit1、Bit2)决定了重量数据的小数点位置,具体如下:
- Bit2 Bit1 Bit0 | 小数点位置
- 0 0 0 | XXXX00 (0小数位)
- 0 0 1 | XXXXX0 (1小数位)
- 0 1 0 | XXXXXX (2小数位)
- 0 1 1 | XXXXX.X (3小数位)
- 1 0 0 | XXXX.XX (4小数位)
- 1 0 1 | XXX.XXX (5小数位)
- 1 1 0 | XX.XXXX (6小数位)
- 1 1 1 | X.XXXXX (7小数位)
LM3108模块需要解析状态字A的这三位,以及后续的重量数值。仪表发送的数值范围在0到10之间,LM3108会将其解析并转换成0到10V的模拟量信号输出。
通讯参数设置为9600波特率(Bps),8位数据位,无校验。这是标准的RS485通信配置。
在编程实现这个通讯过程时,我们使用的是CodeSys编程环境。以下是一段示例程序,展示了如何处理从仪表接收的数据:
```plc
PROGRAM PLC_PRG
VAR
RecFin: BOOL; // 接收完成标志
Set485: Set_COMM2_PRMT; // 设置485通信参数
RecData: ARRAY [1..18] OF BYTE; // 接收数据缓冲区
RightData: ARRAY [1..18] OF BYTE; // 正确格式化数据缓冲区
Set485Sw: BOOL; // 开启485通信标志
Set485Fin: BOOL; // 485通信完成标志
SetRecSw: BOOL; // 接收数据标志
RecM: COMM2_RECEIVE; // 接收任务
StartQ: BOOL; // 启动接收标志
EndQ: BOOL; // 结束接收标志
copyArr: copy_Arr; // 数据复制结构体
L5Dot: BOOL; // 小数点位置标志
L4Dot: BOOL;
L3Dot: BOOL;
L2Dot: BOOL;
L1Dot: BOOL;
L0Dot: BOOL;
R1Dot: BOOL;
R2Dot: BOOL;
ResNum: DWORD; // 解析后的数值
AddAllNum: AddNum; // 计算数值
ResNumTemp: DWORD; // 解析过程中临时数值
DIVNUM: DWORD; // 分母
OUTNUMH: WORD AT %MW202; // 输出高位数值
OUTNUML: WORD AT %MW200; // 输出低位数值
END_VAR
```
在这个程序中,定义了各种变量来处理接收到的数据。例如,`RecData`用于存储原始接收到的18字节数据,`RightData`则用于存储格式化后的数据。`ResNum`用来保存解析出的数值,最后通过`OUTNUMH`和`OUTNUML`寄存器输出到模拟量接口,转换成0~10V的电压信号。
此外,我们注意到这个程序可能是在HOLLiAS-LEC G3小型一体化PLC上运行,使用的编程工具是PowerPro,它提供了丰富的指令与功能块。虽然手册中并未提供具体的编程细节,但可以推断程序会包含解析状态字A的位操作,以及根据状态字计算小数点位置,从而正确解析重量数据。
需要注意的是,实际应用中,由于软件版本更新和应用需求变化,手册提供的信息可能存在误差或不完全一致。因此,开发者应根据具体设备的规格和当前的软件版本进行适配和调试。在使用手册内容时,务必遵循相关法律法规,尊重知识产权,未经授权不得复制或传播。
105 浏览量
2022-07-14 上传
443 浏览量
2023-08-08 上传
387 浏览量
287 浏览量
jiyulishang
- 粉丝: 26
- 资源: 3813
最新资源
- J2EE开发全程实录.doc
- J2EE WEB端知识及案例使用顺序.pdf
- Microsoft编写优质无错C程序秘诀
- risk and utility in portfolio optimization
- End-to-End Web Content in WebSphere Portal using Web Content Management 6.0(中文版)
- Java+Struts教程(chinese).pdf
- CCIE BGP命令配置手册
- GFS(google文件系统)
- ARM MMU详解(中文版本)
- ASP_NET的网站信息发布管理系统设计与实现
- Experiences with MapReduce
- Bigtable(google的技术论文)
- MAX471数据手册
- 2008年程序员下半年
- MAX485芯片详细资料
- 学位论文撰写及排版格式手册(插图版).pdf