前言:
现在看官们对“c语言中072等于多少”大致比较注意,兄弟们都需要知道一些“c语言中072等于多少”的相关内容。那么小编同时在网摘上汇集了一些对于“c语言中072等于多少””的相关内容,希望咱们能喜欢,看官们快快来了解一下吧!Modbus RTU 从站
serial gateway串口网关
1. 编写程序,Commport端子输入默认_NONE,CmdDate[0-1]是选择要发出的协议。后面跟对应协议的格式,sendcmd指令的好处就是不需要自己编写校验码的程序,将自动生成校验码发出去。
2. 案例为选择发送MODBUS RTU指令,向1号站的温控器读取温度,我们用串口监视PLC发出的数据。
可以看到串口监视的PLC发出的数据自动把校验码加上了,说明正确。
当选择网关串口时,端口可发送compway/F,MODBUS RTU,MODBUS ASICC指令做主站。
无协议
掌握 NJ301 通过 CJ1W-SCU42 模块, 使用 SerialSend、 SerialReV 功能块实现无协议的接收和发送。
1、 系统概述,硬件搭建和接线
将 CJ1W-SCU42 按照下面的安装顺序插在 NJ 的 CPU 后面,如下图所示:
用XW2Z-200S-V将SCU的串口2和电脑的串口连接, XW2Z-200S-V电缆制作方法:
2、 操作步骤
(1) 硬件设置:
a. CJ1W-SCU42 模块拨码含义与设置如下:
本案例仅使用 232 口,因此终端电阻拨码与 2 线/4 线切换拨码均无效,可以任意设置,模块单元号设置 3。
2) 软件操作
a. 新建 NJ301 的工程, 在 CPU 扩展机架的选项中,读取硬件设备并合并,读取模块的单元号是 3,如下图所示:
b. 点击“编辑特殊单元设置” ,对模块的串口 2 进行下列的配置:
选择用户设置,No-protocol 协议,数据格式 7、 2、 E,波特率: 19200;
c. 插入程序-段, 在编辑窗口中进行主程序的编写,内容如下所示:
程序段相关变量表:
编写 ST 语言:
设置使用单元号为 3 的 SCU 模块的端口 2 进行通讯。
编写串口接收指令:
即设置接收 4 个字节数据,数据保存在 Rcv_date[0]开始的变量中。
功能块说明:
编写串口发送指令:
即发送 sen_date[0]开始的 4 个字节数据。
功能块说明:
3、现象和结论
a. 配置串口调试助手,发送数据“11 22 33 44” 4 个字节
点击发送后,查看到 J01_P2_NopRcvCompleteSta 置 ON,接收完成标志位导通, 串口缓存收到数据, 如下图所示:
触发 S1,接收数据到数组变量 Rcv_data[0]-[3]中,监视变量如下所示
b. 预先在变量 Sen_date 中写入数据 11 22 00 00,触发 S3,发送数值到串口调试助手,会收到数据 11 22 00 00,如下图所示:
4、注意事项
(1) 在SerialSend指令中,被发送数据的数组变量一定要大于SerialSend中指定的字节数,不然无法发送数据出去。
(2) 本实验的程序为了方便理解,逻辑上较为简单,详细内容可以参考NJ指令手册基本篇功能举例。
(3)无协议通讯相关系统变量,请参考SCU模块操作手册(W494-E1-04), 以下为常用变量列表:
协议宏(无协议)
通过 NJ301 带 CJ1W-SCU42 模块, 掌握使用 ExecPMCR 功能块实现协议宏的接收和发送。
1、 系统概述,硬件搭建和接线
将 CJ1W-SCU42 按照下面的安装顺序插在 NJ 的 CPU 后面,如下图所示:
用XW2Z-200S-V将SCU的串口2和电脑的串口连接, XW2Z-200S-V电缆制作方法:
2、 操作步骤
(1) 硬件设置:
a. CJ1W-SCU42 模块拨码含义与设置如下:
本案例仅使用 232 口,因此终端电阻拨码与 2 线/4 线切换拨码均无效,可以任意设置,模块单元号设置 0。
(2) 软件操作
a. 新建 NJ301 的工程, 在 CPU 扩展机架的选项中,读取硬件设备并合并,读取SCU 模块的单元号是 0,点击“编辑特殊单元设置” ,对模块的串口 2 进行下列的配置:
选择用户设置,Protocol Macro 协议,数据格式 7、 2、 E,波特率: 9600
c. 插入程序-段, 在编辑窗口中进行主程序的编写,内容如下:
程序段相关变量表:
SendData 数组对应 D10 开始地址, RecvData 数组对应 D0 开始地址。
编写 ST 语言:
即设置使用单元号 0,端口 2 进行协议宏通讯,并给 SendData 数组赋值。
编写协议宏通讯指令:
即使用 SendData 数组作为发送地址, RecvData 数组作为接收地址。
ExecPMCR功能块说明:
d. 协议宏工程说明
1) 在序列里建立一个Send&Recive的Step, 发送的内容在梯形图里由指令的发送数组SendDate指定,报文设置为Operand,发送报文如下所示。
2) 接收字节长度为 4 个字节,接收地址通过接收数组 RecvDate 里 AT 指定到D0,接收报文如下所示:
即设置从 D0(RecvDate[0])开始,写入连续 4 个字节数据。
设置完成后,把工程下载进 SCU 模块中。
3、现象和结论
a. 配置串口调试助手, 执行 PMCR 指令,发送数值到串口调试助手,会收到数据11 22 00 00,如下图所示:
b. 发送数据“11 22 33 44” 4 个字节
监视 RecvData,可以看到现象如下:
4、注意事项
(1) DstDat[ ]必须在 CJ 单元存储器的地址中指定 AT;
(2) 直接指定、链接通道指定时, SrcDat[0]及 DstDat[0]的值请设为 0。设定为其它常数和变量时会发生异常,不执行本指令。
(3)协议宏相关标志位
协议宏(MODBUS RTU主站)
CJ1W-SCU 模块通过协议宏功能,做 modbus-RTU 主站与变频器通讯,
控制变频器启动
1. 系统概述,硬件搭建和接线
本案例使用 CJ1W-SCU41-V1 的 485 口,连接至 3G3MX2 的485 口。
2. 操作步骤
(1) 硬件设置:
a. CJ1W-SCU41-V1 模块拨码含义与设置如下
本案例中,终端电阻拨码设置 OFF, 2 线/4 线切换拨码设置 2 侧,单元号设置 0。
b. 3G3MX2 侧也有终端电阻拨码, 位置请参考图 1-1, 本次设置 OFF。
(2) 软件操作:
a. CX-Programmer 中新建 CP1H-XA 工程,切换到编程模式, 双击打开 IO 表, 点击选项-创建, 创建成功后, 配置 SCU 模块串口 1,如下图所示:
将配置传送到 PLC,重启模块:
即设置用户设置,协议宏模式, 8 位数据位, 2 位停止位,偶校验, 9600 波特率
b. 打开 CX-protocol 软件, 新建工程:
c. 鼠标右键创建协议宏工程, 选择 CJ\CS 系列, 如下图所示:
d. 创建序列-步,新建-发送和接收报文:
e. 编辑写入频率命令和运行命令的报文, 如下图所示:
发送报文 1 编写:
代码含义: 01(站点号) 06(写数据) 0001(变频器频率地址) 1388(=5000=50HZ)
+校验。
校验详细设置如下:
发送报文 2 编写:
代码含义: 01(站点号) 05(写位状态) 0000(变频器启停位地址) FF00(ON)
+校验
接收报文 1 编写:
代码含义: 01(站点号) 06(写数据)(W(DM00000),4)(反馈的 4 字节数据写入
PLC 的 D0 开始地址) +校验
W(DM00000),4) 具体写入设置:
f. 编辑写入频率命令和运行命令的报文,第一条命令结束后执行 NEXT 下一条运行的命令, 如下图所示:
第一步 00 添加发送报文 1 与接收报文 1, Next 选项设置 Next,第二步 01 添加发送报文 2。
g. 选中 New Protocol,设置相关监视时间:
选中 New Protocol List,目标选择对应的 SCU 模块:
h. 连接 PLC, 点击下载协议宏, 先编译,再下载,如下图所示:
i. 在编辑窗口中进行主程序的编写,内容如下所示
1509.15 是协议宏执行标志位。
A202.00 是内部逻辑端口 0 的网络通信命令可执行标志位,逻辑端口 0~7 可以任意指定。
PMCR 的第一个控制字的 12-15 位的 0 内部逻辑端口 0, 8-11 位的 1 是串口1,0-7 位的 10 是 10+单元号(这里的单元号是 0)
第二个控制字 0 代表序列 0 即 POTOCOL 中的 Sequence0
第三个控制字和第四个控制字分别是发送和接收的数据通道,仅当 POTOCOL 中的 Data Address 是 Operand 时有效,所以这里都设为 0。
PMCR 指令具体含义如下:
j. 设置变频器的运行指令和频率指定为 Modbus 通讯, 数据为 8 位,波特率为9600 和串口参数一致:
即设置:
A001=03,A002=03,C071=05,C072=1,C074=01,C075=2,C076=02,C077=0.00,C078=0。
注: C071、 C074、 C075 的数据只有在断电重启或复位后,才能完成更改。
3. 现象和结论
(1) 执行 PMCR 指令, 观察到变频器 RUN 灯亮并以 50HZ 运行,监视 D001 频率当前值为 50Hz。
(2) 在 CX-protocol 里,读取 TRACE 显示如下数据,收到反馈的数据是 01 06 0001 1388 D5 5C 01 05 00 00FF 00 8C 3A,表示通讯成功。
4. 注意事项
(1) CJ 系列协议宏通讯设置方法一样, 如使用 CJ2M 的 CPU, 需要使用CX-Protocol 1.92 及以上版本才支持。
(2) 协议宏相关标志位计算方法:
(3) 终端电阻在现场使用时建议开启,如连接多台设备,只需要首位两台设备启用终端电阻即可。
标签: #c语言中072等于多少