1.Cmnd的介绍

Cmnd是CP/CJ系列中一个可以发布任意Fins指令的功能块,支持网口和串口。此功能块有以下三步分组成。下面对Cmnd的一些使用进行介绍。
image.png
image.png

注意:CP编程手册上没有说明如果使用其他格式,需要在指令保存地址开头填入2803(CompoWay/F),2804(Modbus-RTU),2805(Modbus-ASCII)后面则输入对应的协议格式。若是使用Fins,则直接从指令保存地址首地址输入Fins格式,详细介绍请看 CP/CJ通信指令手册。**


2.串口

Cmnd可以通过串口网关发送任意Fins指令如 Hostlink Fins格式,Modbus-RTU,Modbus-ASCII,CompoWay/F 格式。

2.1用Cmnd发送Modbus-TCP

2.1.1 硬件接线

CP1H-EX 温控表
RDB+ —————————- B-
RDA- —————————- A-

2.1.2 PLC设置

  1. 波特率和格式根据温控表的通信设置进行设置,模式选择串口网关<br /> ![image.png](https://cdn.nlark.com/yuque/0/2020/png/974473/1583138629893-f77e1a7b-d425-4733-9809-76bf4edf98a7.png#align=left&display=inline&height=375&name=image.png&originHeight=375&originWidth=883&size=55399&status=done&style=none&width=883)

2.1.3 程序

     命令码:在Cmnd的指令发送首地址填入2804,转换成Modbus —RTU,后面的命令按Modbus格式填写![image.png](https://cdn.nlark.com/yuque/0/2020/png/974473/1583216912091-8efc3cd5-109b-4829-a1fb-0897e28ec667.png#align=left&display=inline&height=449&name=image.png&originHeight=449&originWidth=961&size=97957&status=done&style=none&width=961)


响应指令 前两个通道返回的是Fins指令的格式 2804 ,0000,后面的和Modbus格式一样<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/974473/1583217041966-42826120-6a2b-4075-8ce8-88081b47f0d1.png#align=left&display=inline&height=206&name=image.png&originHeight=206&originWidth=951&size=41033&status=done&style=none&width=951)

本案例 CMND 指令保存地址为D100 ,响应数据首地址为D200 ,控制数据为D300
image.png

   ** 如读温控表PV值**<br />      **   命令指令: **     01  03  20  00  00  01 <br />           用Cmnd不需要发送CRC验证码<br />        <br />          **响应地址收到** 28 04 00 00 01 03 02 00 1B <br />           前四个字节为Fins响应码,读取数据为1B转换成十进制27<br />    <br />    触发前将发送命令写入 CMND指令保存地址![image.png](https://cdn.nlark.com/yuque/0/2020/png/974473/1583141388410-71a61a89-fce6-4ba1-961f-4e1447da1200.png#align=left&display=inline&height=210&name=image.png&originHeight=210&originWidth=969&size=10323&status=done&style=none&width=969)<br />  <br />    触发后<br />![微信图片_20200302172612.jpg](https://cdn.nlark.com/yuque/0/2020/jpeg/974473/1583141447631-6c99eed3-3105-4737-9c92-544b58c0af55.jpeg#align=left&display=inline&height=1440&name=%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20200302172612.jpg&originHeight=1440&originWidth=1080&size=90279&status=done&style=none&width=1080)

CMND 响应保存数据地址收到数据
微信图片_20200302172600.png


  ** 如写温控表SV值**<br />        **命令指令:**  01  06  21  03  02  00   <br />         用Cmnd不需要发送CRC验证码<br />     **   响应地址收到**  28 04 00 00 01 06 21 03 02 00

触发前将发送命令写入 CMND指令保存地址
image.png

触发前SV值为0
微信图片_20200303143917.jpg

触发后SV值为512
微信图片_20200303143924.jpg

2.1.4 案例程序

  [Cmnd串口.zip](https://www.yuque.com/attachments/yuque/0/2020/zip/974473/1583218563824-bfebef1a-74b4-4e2a-9660-95e3279ba2f3.zip?_lake_card=%7B%22uid%22%3A%221583218563496-0%22%2C%22src%22%3A%22https%3A%2F%2Fwww.yuque.com%2Fattachments%2Fyuque%2F0%2F2020%2Fzip%2F974473%2F1583218563824-bfebef1a-74b4-4e2a-9660-95e3279ba2f3.zip%22%2C%22name%22%3A%22Cmnd%E4%B8%B2%E5%8F%A3.zip%22%2C%22size%22%3A11974%2C%22type%22%3A%22application%2Fzip%22%2C%22ext%22%3A%22zip%22%2C%22progress%22%3A%7B%22percent%22%3A99%7D%2C%22status%22%3A%22done%22%2C%22percent%22%3A0%2C%22id%22%3A%22Q0Ms6%22%2C%22card%22%3A%22file%22%7D)

3.网口

网口例子请参考 CJ走网口用Cmnd通信