三菱FX系列通信协议
三菱FX系列PLC编程口通讯协议实例
三菱FX系列PLC编程口通讯协议实例三菱FX系列PLC编程口通讯协议实例一、协议介绍通过编程口通讯协议,计算机可以通过串口或USB接口向PLC读写数据,以及置位或复位软元件,但PLC不能主动向计算机发送信息。
具体可操作的软元件有:X/Y/M/S/T/C/D。
由于只需要PLC主机和一根编程线缆即可简单通讯,无需另外购置如232-BD等通讯板,因此编程口通讯实际上非常实用。
可惜的是,三菱的官方手册《FX通讯用户手册》却根本没有介绍这个通讯协议,网络上能找到的资料也很少。
仅找到的一篇如下,其中也有很多语焉不详的地方,埋了不少坑。
本文通过实际操作,简单总结一下该协议的使用方法和注意点。
链接: 三菱PLC编程口协议.二、通讯设置必须设置为:波特率9600,偶校验,7位数据位。
否则无法通讯。
三、读写操作时数据的基本格式:注意:通讯协议中的所有字符是用它们的十六进制ASCII码表示。
如果有十进制数据,要先转化为十六进制数,再把十六进制数的每个字符用它相应的十六进制ASCII码表示。
以下有详解。
参数详解:STX: ASCII码,含义为Start of Text,十六进制代码为02H;CMD:读操作时为0,即十六进制代码30H;写操作时为1,即十六进制代码31H;ADDR:要操作的软元件的起始地址,查表可得,如下。
注意是起始地址,例如要查询D0、D11寄存器的数据,写入D0的地址即可。
ADDR为4个十六进制ASCII码。
如D0查表地址为1000,每个字符均用十六进制ASCII码表示,即为:31 30 30 30。
NUM:字节数,用两个十六进制ASCII码表示,取值范围为01H-40H。
这个数据是比较tricky的地方,一定要注意。
理论上它是指“要操作的所有软元件对应的字节数”,比如:要读D0中的数据,因为D软元件是用2个字节表示的,则NUM 为02,十六进制ASCII码为 30 32;要读D0、D1两个D软元件中的数据,则NUM为04,十六进制ASCII码为 30 34;如果是读Y0-Y7这8个位软元件的状态,因为8个位为一个字节,所以NUM为01,十六进制ASCII码为 30 31;如果是写数据,比如写十六制数122F到D0中,则NUM一样为02,写数据到D0、D1中,则NUM为04。
三菱FX系列PLC编程口通信协议举例
三菱FX系列PLC编程口通信协议举例简介三菱FX系列是一种常见的工业自动化控制设备,用于自动化控制领域。
该系列PLC(可编程逻辑控制器)具有可编程控制、数据传输、数据处理等功能,被广泛应用于各种控制领域。
在三菱FX系列PLC编程中,常用的通信协议有三种,分别是RS232C、RS485和USB。
本文将着重介绍编程口通信协议,以举例说明该系列PLC的编程方法。
编程口通信协议编程口通信协议是FX系列PLC常用的通信协议之一。
在进行编程时,需要将PLC连接到计算机,使用编程软件进行编程操作。
这时,就需要使用编程口通信协议来进行数据传输。
在进行编程口通信时,需要准备一个编程口线缆,将线缆连接到PLC的编程接口上。
然后将线缆的另一端连接到计算机的串口或USB口上。
接下来,需要在计算机上安装编程软件,例如三菱的GX Developer软件,然后进行数据传输和编程操作。
编程口通信的实现步骤下面,我们将以三菱FX2N系列PLC为例,介绍编程口通信的具体实现步骤。
1.准备编程口线缆首先,需要准备一个编程口线缆,将该线缆连接到FX2N系列PLC的编程口接口上。
然后将线缆的另一端连接到计算机的串口或USB口上。
2.安装编程软件在计算机上安装三菱的GX Developer编程软件,并打开软件。
3.打开PLC通信设置界面在GX Developer软件的菜单中,选择“PLC通信设置”选项,打开PLC通信设置界面。
4.设置PLC型号和通信协议在PLC通信设置界面中,需要设置PLC的型号和通信协议。
对于FX2N系列PLC,通信协议通常选择“串口通信”或“USB通信”。
5.设置通信参数在设定PLC型号和通信协议之后,需要设置通信参数,例如波特率、数据位、校验位等。
这些参数需要与PLC的通信设置相一致。
6.连接PLC在设置完通信参数之后,需要连接PLC。
在GX Developer软件的PLC通信设置界面中,单击“连接”按钮,软件将自动连接PLC。
FX1N通讯协议
简介:通讯波特率9600,7,e,1 rs232 电脑端SEND:02 30 30 45 30 32 30 32 03 36 43 发送完了以后PLC 端ACK: 02 36 32 36 36 03 44 37 SEND:02 45 30 30 30 31 43 30 30 31 03 44 44 AC ...通讯波特率 9600,7,e,1 rs232电脑端SEND:02 30 30 45 30 32 30 32 03 36 43发送完了以后PLC端 ACK: 02 36 32 36 36 03 44 37SEND:02 45 30 30 30 31 43 30 30 31 03 44 44ACK: 02 30 41 03 37 34SEND:02 30 30 45 30 32 30 32 03 36 43ACK: 02 36 32 36 36 03 44 37SEND:02 45 30 31 38 30 30 30 32 45 03 45 38ACK: 02 30 38 30 30 43 35 44 43 30 30 30 30 30 30 30 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 03 44 36 SEND:02 45 30 31 38 30 32 45 32 45 03 46 46ACK: 02 32 30 32 30 46 34 30 39 46 46 30 42 46 34 30 31 45 37 30 33 36 34 30 45 43 37 30 45 44 43 30 45 46 46 30 45 39 30 30 31 46 45 30 33 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 03 45 35 SEND:02 45 30 30 30 45 30 36 30 32 03 45 35ACK: 02 31 30 30 30 03 43 34这些对于FX1N PLC都是固定的开头通讯块。
三菱PLC通讯协议参考
帧格式
STX CMD DATA ...... DATA ETX SUM(upper) SUM(lower) 例子 STX ,CMD ,ADDRESS, BYTES, ETX, SUM 02H, 30H, 31H,30H,46H,36H, 30H,34H, 03H, 37H,34H SUM=CMD+......+ETX 30h+31h+30h+46h+36h+30h+34h+03h=74h; 累加和超过两位取低两位 三菱 FX 系列 PLC 编程口通信协议举例
总 17 页之第 3 页
三菱工控产品北京分销中心 TEL 0086-10-86360099 FAX 0086-10-86865130
技术支持 三菱工控网
{ if((inportb(STATS_PORT)&1)!=0)
break;
}
if(lTmp>=DELAY_TIMES)
总 17 页之第 1 页
三菱工控产品北京分销中心 TEL 0086-10-86360099 FAX 0086-10-86865130
技术支持 三菱工控网
奇偶: even 校验: 累加方式 和校验 字符: ASCII
16 进制代码
ENQ 05H 请求 ACK 06H PLC 正确响应 NAK 15H PLC 错误响应 STX 02H 报文开始 ETX 03H 报文结束
技术支持 三菱工控网
enable(); return(FALSE); } uReceive[0]=inportb(DATA_PORT); if(uReceive[0]!=2) { enable(); return(FALSE); } for(i=1;i<number*4+4;i++) { for(lTmp=0L;lTmp<DELAY_TIMES;lTmp++) { if((inportb(STATS_PORT)&1)!=0)
三菱FX系列PLC下载通信协议说明
三菱FX系列PLC下载通信协议说明作者声明:转摘时请注明出处: ,谢谢。
------------------------------------------------------------------------------------------三菱FX系列PLC编程口通信协议总览该协议实际上适用于PLC编程端口以及FX-232AW模块的通信通讯格式命令(CMD)命令码目标设备DEVICE READ CMD "0" X,Y,M,S,T,C,DDEVICE WRITE CMD "1" X,Y,M,S,T,C,DFORCE ON CMD "7" X,Y,M,S,T,CFORCE OFF CMD "8" X,Y,M,S,T,C扩展命令码读配置"E00"写配置"E10"读程序"E01"写程序"E11"传输格式: RS232C波特率: 9600bps奇偶: even校验: 累加方式和校验字符: ASCII命令16进制代码命令解释ENQ 05H 通信请求ACK 06H PLC正确响应NAK 15H PLC错误响应STX 02H 报文开始ETX 03H 报文结束帧格式STX CMD DATA ...... DATA ETX SUM(upper) SUM(lower)例子STX ,CMD , ADDRESS, BYTES, ETX, SUM02H, 30H, 31H,30H,46H,36H, 30H,34H, 03H, 37H,34H指令解释如下:STX, "0", "10F6", "04", ETX , "74"报文开始, 读命令, 地址10F6H处, 04H字节数据, 报文结束, 累加方式和校验其中 SUM=CMD+......+ETX=30h+31h+30h+46h+36h+30h+34h+03h=74h;累加和超过两位取低两位,转换成ascii码,分 SUM(upper),SUM(lower)二次传送。
三菱FX系列PLC编程口通信协议总览
三菱FX系列PLC编程口通信协议总览三菱FX系列PLC编程口通信协议是用于与三菱FX系列可编程逻辑控制器(PLC)之间进行数据交互的协议。
它定义了数据报文格式、通信命令、数据传输等规范,使得用户可以通过编程接口与PLC进行通信,并实现对PLC的控制、监控和数据采集等功能。
FX系列PLC编程口通信协议支持多种通信接口,包括串行接口(如RS232和RS485)、以太网接口等。
不同的接口对应不同的通信命令和数据传输格式,但大部分规范是相似的。
在FX系列PLC编程口通信协议中,主要定义了以下几个方面的内容:1.帧格式:通信数据以帧的形式进行传输,每个帧由起始字符、数据长度、数据内容、校验和和结束字符组成。
帧格式使得数据的传输更加可靠,并且能够有效地区分不同的数据报文。
2.通信命令:通信命令定义了与PLC进行各种操作的指令。
包括读取PLC的输入和输出状态、读写PLC的数据寄存器、设置PLC的操作模式和参数等。
不同的通信命令对应不同的操作,用户可以根据需要选择合适的命令进行通信。
3.数据传输:通信协议支持从PLC读取数据和向PLC写入数据。
用户可以通过命令指定要读取的数据寄存器或写入的数据值,并通过通信接口传输。
数据传输操作可以实现对PLC的实时控制和监控,以及和其他设备的数据交换。
4.数据编解码:通信协议中定义了对数据内容的编解码规则,使得数据在传输过程中可以正确解析和还原。
编解码规则包括数据格式、数据类型、字节顺序、数据长度等方面的规定,确保在不同的设备之间能够正确地解析和使用数据。
FX系列PLC编程口通信协议是一种非常常用和成熟的通信协议,广泛应用于工业自动化领域。
它具有简单、可靠、高效、灵活等特点,适用于各种PLC控制系统的通信需求。
用户可以根据协议规范进行开发、集成和应用,实现对PLC的控制和监控,并与其他设备进行数据交换,提高自动化生产系统的可靠性和效率。
三菱plc通信协议
编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载三菱plc通信协议甲方:___________________乙方:___________________日期:___________________三菱plc通信协议篇一:自编三菱plc通讯协议Fx系列可编程控制器(plc )通讯常用方法目录1、基本通讯方法1.1常用的通讯方法1.2计算机与Fx-plc通讯结构2、通信格式2.1通讯基本格式2.2plc相关通讯寄存器标志2.3通讯格式详解2.4举例3、通讯过程3.1基本知识3.2专用通讯协议框图3.3专用通讯控制命令4、附录ascii码表1、基本通讯方法1.1常用通讯方法Fx系列plc支持5种通讯方法1)计算机链接:用计算机做主机,通过Rs485接口与16 台plc组网,采用专用通讯协议,在计算机与plc之间交换数据,本资料重点解决计算机链接问题,包括硬件连接、通讯参数设置、通讯格式等。
2)n网络:可以将8台plc构成网络,无需协议,自成网络。
3)并联:可以将2台plc并联成网络,也无需协议,自成网络。
4)plc用Rs指令发送、接收数据,与计算机等设备进行无协议通讯交换数据。
5)通过plc编程接口,与计算机等设备进行数据交换,本厂采用该方式在mcgs工业组态软件基础上,开发出各类锅炉专用的计算机监控系统。
1.2计算机链接通讯结构Rs232cFx-485Rc-iFFx1n-485-bd216上述结构是一种采用计算机串行口与plc链接的最基本方法,最远通讯距离50m,其通讯相关参数见下表:通讯接口:Fxon-485adp/Fx-485adp/Fx1n-485bd/Fx1n-cnV-bd/Fx1n-232bd可选。
通讯距离:Fx1n-485bd50m,选其它某些件,最远500mt从站连接数:最大16台通讯方法:半双工数据长度:7位/8位可选校验:不用/奇/偶可选停止位:1位/2位可选波特率:300/600/1200/2400/4800/9600/19200 可选超始符:不用/有效可选协议:格式1/格式4可选求和检查:不用/有效可选可选plc 类型:Fx2n, Fx2nc, Fx1n, Fx1s, Fxon, Fx,Fx2c计算机与plc通讯所需的时间,可通过计算得到。
三菱plc通讯协议
三菱plc通讯协议
三菱FX系列plc作为三菱基本的PLC,它们之间的通讯有几种常用的方式,分别如下:CC-LINK,N:N网络连接,并联连接。
1.CC-LINK连接
CC-LINK连接图如下:
对应的PLC可为FX1N、FX1NC、FX2N、FX2NC、FX3U、FX3UC,因为在使用CC-LINK通讯时要扩展CC-LINK模块,而FX1S没有扩展模块功能,故FX1S不能用于此通讯方式。
2)FX1N/FX2N/FX3U即可以作为主站,也可以作为远程设备站使用。
此种通讯因为要加CC-LINK通讯模块,所以成本较高。
3)在CC-LINK网络中还可以加入变频器伺服等符合CC-LINK规格的设备。
2.N:N网络连接
N:N网络连接连接图如下:
3.并联连接
并联连接图如下:
1)通讯对象是FX1S、FX1N、FX1NC、FX2N、FX2NC、FX3U、FX3UC 同一系列的PLC之间。
2)该通讯在PLC间进行1:1通讯,进行数据交换,只能满足2台
PLC的通讯。
自编三菱PLC通讯协议概要
FX 系列可编程控制器( PLC)通信常用方法目录1、基本通信方法§1.1 常用的通信方法§1.2 计算机与 FX-PLC 通信构造2、通信格式§2.1 通信基本格式§2.2 PLC 有关通信存放器标记§2.3 通信格式详解§2.4 举例3、通信过程§3.1 基本知识§3.2 专用通信协议框图§3.3 专用通信控制命令4、附录ASCII 码表1、基本通信方法§1.1 常用通信方法FX 系列 PLC 支持 5 种通信方法1)计算机链接:用计算机做主机,经过 RS485 接口与 16 台 PLC 组网,采纳专用通信协议,在计算机与 PLC 之间互换数据,本资料要点解决心算机链接问题,包含硬件连结、通信参数设置、通信格式等。
2)N 网络:能够将 8 台 PLC 组成网络,无需协议,自成网络。
3)并联:能够将 2 台 PLC 并联成网络,也无需协议,自成网络。
4)PLC 用 RS 指令发送、接收数据,与计算机等设施进行无协议通信互换数据。
5)经过 PLC 编程接口,与计算机等设施进行数据互换,本厂采纳该方式在MCGS 工业组态软件基础上,开发出各种锅炉专用的计算机监控系统。
§1.2 计算机链接通信构造RS232C FX-485RC-IF FX1N-485-BD⋯⋯⋯ 1 2 16上述构是一种采纳算机串行口与PLC 接的最基本方法,最通距离50M,其通有关参数下表:通接口: FXON-485ADP /FX-485ADP/FX1N-485BD/FX1N-CNV-BD/FX1N-232BD 可。
通距离: FX1N-485BD 50M ,其余某些件,最500M。
从站接数:最大16 台通方法:半双工数据度: 7 位 /8 位可校:不用 /奇/偶可停止位: 1 位/2 位可波特率: 300/600/1200/2400/4800/9600/19200可超始符:不用 /有效可:格式 1/格式 4 可乞降:不用 /有效可可 PLC 型: FX2N ,FX2NC ,FX1N ,FX1S,FXON , FX,FX2C算机与PLC 通所需的,可通算获取。
FXPLC编程口通信协议分析
FXPLC编程口通信协议分析FX PLC编程口通信协议分析摘要:通过监视串口数据的收发,分析FX2N PLC编程口的通信协议,从而获得PLC底层通信的方法。
该协议可用于PLC与上位机的直接通信。
关键词:FX2N PLC,通信协议,编程口1 前言三菱FX2N系列PLC的通信方式有多种:(1)N:N网络;(2)并行连接;(3)计算机链连接(使用专用协议);(4)无协议通信(使用RS485,RS指令);(5)编程口通信。
这几种通信方式各有特点,前4种协议需要对PLC进行设置或采用专用指令,编程口通信协议无需对PLC进行编程就可以直接读写PLC。
通过对三菱自带编程软件与PLC通信的监控与分析,可以得到PLC编程口通信的底层通信协议,从而获得PLC底层通信的方法,实现对PLC内部资源的访问。
2 分析思路三菱FXGP编程软件是FX PLC的编Array程开发软件,PC机RS232通过FX-232A W 模块与编程口直接通信。
为了分析FXGP与PLC的通信协议,在PC与PLC之间插入一个检测器,实时截获PC机串口上的收发数据。
根据编程手册,有关通信参数为:9600,7,E,1,ASCII码方式。
检测线路见图1。
3 通信协议分析FX PLC的内部数据主要包括:D寄存器(每个寄存器二字节长)、M(位地址)、S(位地址)、T(位地址)、C(位地址)、X (位地址)、Y(位地址)。
数据帧基本格式:表1 FX2N PLC 数据帧基本格式Tab.1 FX2N PLC basic protocol format16进制控制码:表2 FX2N PLC 控制码 Tab.2 FX2N PLC control code3.1 读D 寄存器读PLC 软设备的状态值。
读命令码30h, 读命令数据帧格式:表3 FX2N PLC 读命令数据帧格式Tab.3 FX2N PLC protocol format of read data例:从D123开始读取4个字节数据。
三菱PLCFX通信协议位读位写
三菱PLCFX通信协议位读位写项⽬⾥⽤的是协议4,不带换⾏回车按位批读规则⽰例在第5站从X040⾄X044读5个点的数据(消息等待时间设为100毫秒)假定X040与X043关且X041、X042与X044开)有⼏个点要注意下:校验和只在[站号]到[位数]之间计算,计算⽅法是将计算区间所有的值相加,最后取后两位的ascii码:$$30+35+46+46+42+52+41+58+30+30+34+30+30+35=347$$则检验码为34,37消息等待时间可以在0到150毫秒之间设定(以10毫秒为增量)。
⽤⼀位ASCII字符来设定其值(“0”到“F"),代表0H到FH(0到15)。
当在1:n系统中使⽤485PC-IF时,必须设定消息等待为70毫秒或更长(7或更⼤)。
如果在⽹络中可编程控制器的扫描时间是70毫秒或更长,消息等待时间须设定为最⼤扫描时间或更长。
收到plc消息的第⼀位应为STX[02H],不然应该认为通信失败相似的按位批写规则⽰例写⼊不需要等待plc读取寄存器值,所以不需要等待。
另外接收到的数据第⼀位应为ACK[06H],不然应该认为通信失败另附校验码⽣成程序:void SumCheck(unsigned char *tMsg, unsigned char *sumcheck) {int sum = 0;int i;for (i = 1; i < strlen(tMsg); ++i) {sum += *(tMsg + i);}*(sumcheck + 1) = sum % 16 + '0';*(sumcheck) = (sum / 16) % 16 + '0';}。
FX系列PLC无协议的RS232和RS485通信协议
一概述组态软件可以通过三菱PLC的232BD通信模块与三菱FX3G系列PLC之间进行通信,本协议可以采用串行通信,使用您计算机中的串行口与三菱PLC进行通信。
二PLC通讯方式以及参数的设置FX系列PLC支持无协议的RS232和RS485通信协议两种通信方式,FX系列PLC与通信设备间的数据交换,设置方法如下:1、首先打开plc编程软件GX developer进行参数配置,左侧导航器参数/PLC参数,双击出现FX参数配置如下图:说明:标记1所示PLC的通讯通道,假如PLC上边装有多个通讯模块,根据自己的实际情况进行选择(如果就一个通讯模块的话,这里不会显示);标记2所示和数检查一定要选上;标记3站号设置:就是PLC的地址;协议:选择专用协议通信;H/W类型:Regular/RS-232C;传送控制顺序:格式4。
数据长度、奇偶、停止位、波特率可以根据自己的需要设置。
(一般上按照上图设置)2、由特殊寄存器D8120的内容指定,交换数据的个数、地址用RS指令设置,并通过PLC 的数据寄存器和文件寄存器实现数据交换,在PLC程序中向D8120寄存器传送设置数据,参数包括波特率、停止位和奇偶校验等,它们通过位组合方式来选择,这些位存放在数据寄存器D8120中。
使用说明:如果D8120=HE880,则PLC通讯参数为:通讯波特率:9600bps,通讯数据位:数据位7位,无校验,1位停止位,总数校验:有(即b13一定为1)注:1)、D8120=HE881,则PLC通讯参数为:通讯波特率:9600bps,通讯数据位:数据位8位,无校验,1位停止位,总数校验:有(即b13一定为1)2)、D8120=H1886或者D8120=HC881,则PLC通讯参数为:通讯波特率:9600bps,通讯数据位:数据位7位,偶校验,1位停止位,总数校验:有(即b13一定为1)3、根据上面的通讯参数编写PLC程序,将参数传送给D8120。
三菱FX系列通信协议
注:位元件包括以及地线圈等;字元件包括等.三菱系列编程口通信协议总览该协议实际上适用于编程端口以及模块地通信. 通讯格式:命令命令码目标设备""""" """传输格式:波特率:奇偶:校验: 累加方式(和校验)字符:进制代码:请求正确响应错误响应报文开始报文结束文档来自于网络搜索帧格式:...... () ()例子:, , ,, , , , ,;;累加和超过两位取低两位、(读出软设备状态值)计算机向发送:始命令首地址位数终和校验例子:从开始读取个字节数据地址算法*再转换成返回.....注:最多可以读取个字节地数据例子:从指定地存储器单元读到这个数据、(向软设备写入值)始命令首地址位数数据终和校验......例子:向开始地两个存储器中写入返回() 接受正确() 接受错误、位设备强制置位复位置位始命令地址终和校验复位始命令地址终和校验返回() 接受正确() 接受错误设备强制中地地址公式说明:.帧中地表示需要读取或者写入地字节数..地址算法上有说明..累加和是从后面一个字节开始累加到地和.三菱系列编程口通信源代码系列四种通信模式地特性首先讲讲系列地通信方式.系列根据使用地通信模块与协议不同,分为以下四种通信模式:、地通信方式、双机并联通信方式、与计算机专有协议通信方式(无须梯形图,电脑直接读写操纵) 、与计算机无协议通信方式(梯形图指令方式,可自定义通信协议) 以下将详细列出各通信模式地特性:网络并联专用协议计算机连接无协议通信传输标准或传输距离连接数量站 (<)通信方式半双工 :半双工: 全双工数据长度固定校验无奇偶停止位波特率头字符固定无/有效尾字符控制线协议格式格式无和校验固定无/有效适用机型系列专用协议通信指令一览以下将详细列出专用协议通信地指令:指令注释以点为单位,读出位元件地状态以点为单位,读出位元件地状态,或以字为单位,读出字元件地值以点为单位,写入位元件地状态以点为单位,写入位元件地状态,或以字为单位,写入值到字元件以点为单位,位元件以点为单位,位元件,或写入值到字元件控制运行控制停止读出设备类型连接测试文档来自于网络搜索注:位元件包括以及地线圈等;字元件包括等.系列专用协议通信指令格式详解约定说明:为请求标志,值中以()表示;为正确标志,值中以()表示;为请求标志,值中以()表示;为请求标志,值中以()表示;表格中红色字为需要求和效验地部分;和效验为每一项地值地总和转换成十六进制后区低两位;站号、号、元件数量、和效验都是以十六进制表示;等待延时为毫秒,以十六进制表示,如为.、批量读出位元件指令格式:侧:站号号延时首地址数量和效验站号号侧:站号号数据和效验[注] 上述中:、"号"系统默认为"";、"首地址 "应以十进制表示,如首地址""表示从寄存器地第地址单元开始读取量;、"数量"表示读取地量个数;、"和效验"是指从"站号"到"数量"之间地各代码地码地累加和;、侧地响应码中"和效验"是指从"站号"到""之间地各代码地码地累加和.、可以读出""、""和""寄存器地内容.例如:要读出站号为地系列地到共点地状态值,延时,假设采用 ()地方式::注释: 请求站号号命令延时元件首地址元件数量和效验代码:码:您只要将以上兰色部分地代码以字符串形式(中可以表示为()" ")发送到,就会有正确地回应信息,如下:注释: 头站号号元件首地址尾和效验代码:码:若发送码有误,则有以下回应:注释: 头站号号和效验代码:码: 文档来自于网络搜索、批量读出字元件指令格式:侧:站号号延时首地址数量和效验站号号侧:站号号数据和效验该命令使用方法与1()命令相同,不再赘述.、批量写入位元件指令格式:侧:站号号延时首地址数量写入值和效验侧:站号号、批量写入字元件指令(寄存器单元置"")格式:侧:站号号延时首地址数量写入值和效验侧:站号号请自行分析以上代码.请继续关注如何控制地运行/停止.文档来自于网络搜索三菱与机通讯地源程序与机通讯地源程序大体如下:采用地是通讯模块,协议就是通讯协议.‘强制为()""$() ()文档来自于网络搜索()""$() ()文档来自于网络搜索‘强制为()“”文档来自于网络搜索‘强制为()“”文档来自于网络搜索''设置电脑通信参数()''通信口""文档来自于网络搜索($)()((, , ))文档来自于网络搜索。
自编三菱PLC通讯协议
FX系列可编程控制器(PLC)通讯常用方法目录1、基本通讯方法§1.1常用的通讯方法§1.2计算机与FX-PLC通讯结构2、通信格式§2.1通讯基本格式§2.2 PLC相关通讯寄存器标志§2.3通讯格式详解§2.4举例3、通讯过程§3.1基本知识§3.2专用通讯协议框图§3.3专用通讯控制命令4、附录ASCII码表1、基本通讯方法§1.1常用通讯方法FX 系列PLC 支持5种通讯方法1) 计算机链接:用计算机做主机,通过RS485接口与16台PLC 组网,采用专用通讯协议,在计算机与PLC 之间交换数据,本资料重点解决计算机链接问题,包括硬件连接、通讯参数设置、通讯格式等。
2) N 网络:可以将8台PLC 构成网络,无需协议,自成网络。
3) 并联:可以将2台PLC 并联成网络,也无需协议,自成网络。
4) PLC 用RS 指令发送、接收数据,与计算机等设备进行无协议通讯交换数据。
5) 通过PLC 编程接口,与计算机等设备进行数据交换,本厂采用该方式在MCGS工业组态软件基础上,开发出各类锅炉专用的计算机监控系统。
§1.2计算机链接通讯结构RS232CFX-485RC-IF FX1N-485-BD………上述结构是一种采用计算机串行口与PLC 链接的最基本方法,最远通讯距离50M ,其通讯相关参数见下表:通讯接口:FXON-485ADP /FX-485ADP/FX1N-485BD/FX1N-CNV-BD/FX1N-232BD 可选。
通讯距离:FX1N-485BD 50M ,选其它某些件,最远500M 。
从站连接数:最大16台 通讯方法:半双工数据长度:7位/8位 可选 校验: 不用/奇/偶 可选 停止位: 1位/2位 可选波特率:300/600/1200/2400/4800/9600/19200 可选 超始符:不用/有效 可选 协议:格式1/格式4 可选 求和检查:不用/有效 可选可选PLC 类型:FX2N ,FX2NC ,FX1N ,FX1S ,FXON ,FX ,FX2C计算机与PLC 通讯所需的时间,可通过计算得到。
FX通讯协议
三菱FX系列PLC编程口通信协议总览文章长度[48310] 加入时间[2010-8-20] 更新时间[2011-5-15 13:17:53] 级别[0][评论] [收藏]该协议实际上适用于PLC编程端口以及FX-232AW模块的通信通讯格式命令(CMD)命令码目标设备DEVICE READ CMD "0" X,Y,M,S,T,C,DDEVICE WRITE CMD "1" X,Y,M,S,T,C,DFORCE ON CMD "7" X,Y,M,S,T,CFORCE OFF CMD "8" X,Y,M,S,T,C扩展命令码读配置 "E00"写配置 "E10"读程序 "E01"写程序 "E11"传输格式: RS232C波特率: 9600bps奇偶: even校验: 累加方式和校验字符: ASCII命令 16进制代码命令解释ENQ 05H 通信请求ACK 06H PLC正确响应NAK 15H PLC错误响应STX 02H 报文开始ETX 03H 报文结束帧格式STX CMD DATA ...... DATA ETX SUM(upper) SUM(lower)例子STX ,CMD , ADDRESS, BYTES, ETX, SUM02H, 30H, 31H,30H,46H,36H, 30H,34H, 03H, 37H,34H指令解释如下:STX, "0", "10F6", "04", ETX, "74"报文开始, 读命令, 地址10F6H处, 04H字节数据, 报文结束, 累加方式和校验其中 SUM=CMD+......+ETX=30h+31h+30h+46h+36h+30h+34h+03h=74h;累加和超过两位取低两位,转换成ascii码,分 SUM(upper),SUM(lower)二次传送。
三菱FX系列通信协议
FX系列PLC专用协议通信指令一览以下将详细列出PLC专用协议通信的指令:指令注释BR 以1点为单位,读出位元件的状态WR 以16点为单位,读出位元件的状态,或以1字为单位,读出字元件的值BW 以1点为单位,写入位元件的状态WW 以16点为单位,写入位元件的状态,或以1字为单位,写入值到字元件BT 以1点为单位,SET/RESET 位元件WT 以16点为单位,SET/RESET 位元件,或写入值到字元件RR 控制PLC运行RUNRS 控制PLC停止STOPPC 读出PLC设备类型TT 连接测试注:位元件包括X,Y,M,S以及T,C的线圈等;字元件包括D,T,C,KnX,KnY,KnM等。
三菱FX系列PLC编程口通信协议总览该协议实际上适用于PLC编程端口以及FX-232AW 模块的通信。
通讯格式:命令命令码目标设备DEVICE READ CMD "0" X,Y,M,S,T,C,DDEVICE WRITE CMD "1" X,Y,M,S,T,C,DFORCE ON CMD " 7" X,Y,M,S,T,CFORCE OFF CMD "8" X,Y,M,S,T,C传输格式: RS232C波特率: 9600bps奇偶: even校验: 累加方式(和校验)字符: ASCII16进制代码:ENQ 05H 请求ACK 06H PLC正确响应NAK 15H PLC错误响应STX 02H 报文开始ETX 03H 报文结束帧格式:STX CMD DATA ...... DATA ETX SUM(upper) SUM(lower) 例子:STX ,CMD ,ADDRESS, BYTES, ETX, SUM02H, 30H, 31H,30H,46H,36H, 30H,34H, 03H, 37H,34H SUM=CMD+......+ETX;30h+31h+30h+46h+36h+30h+34h+03h=74h;累加和超过两位取低两位1、DEVICE READ(读出软设备状态值)计算机向PLC发送:始命令首地址位数终和校验STX CMD GROUP ADDRESS BYTES ETX SUM例子:从D123开始读取4个字节数据02h 30h 31h,30h,46h,36h 30h,34h 03h 37h,34h地址算法:address=address*2+1000h再转换成ASCII31h,30h,46h,36hPLC返回STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM注:最多可以读取64个字节的数据例子:从指定的存储器单元读到3584这个数据02h 33h 35h 38h 34h 03h 44h,36h2、DEVICE WRITE(向PLC软设备写入值)始命令首地址位数数据终和校验STX CMD GROUP ADDRESS BYTES 1ST DATA 2ND DATA ...... LAST DATA ETX SUM 例子:向D123开始的两个存储器中写入1234,ABCD02h 31h 31h,30h,46h,36h 30h,34h 33h,34h,31h,32h,43h,44h,41h,42h 03h 34h,39h PLC返回ACK (06H) 接受正确NAK (15H) 接受错误3、位设备强制置位/复位FORCE ON置位始命令地址终和校验STX CMD ADDRESS ETX SUM02h 37h address 03h sumFORCE OFF复位始命令地址终和校验STX CMD ADDRESS ETX SUM02h 38h address 03h sumPLC返回ACK(06H) 接受正确NAK(15H) 接受错误设备强制中的地址公式:Address=Address/8+100h说明:1.帧中的BYTES表示需要读取或者写入的字节数。
三菱PLC通讯协议
四川中鼎电气控制有限公司公用及辅机控制系统PLC通讯协议(三菱FX、A系列通用)公用及辅机控制系统现地PLC控制柜/箱与LCU均采用三菱专用通信协议格式1(有校验和,无CR、LF),以RS485异步方式通信。
所有设备的通信参数均取:波特率9600bps,1位起始位,8位数据位,1位停止位,无奇偶校验位;一、上位机从PLC读取数据的通信顺序为:上位机请求,PLC应答两个步骤。
(一)从上位机发给PLC(请求)请求标志+站号+PLC号+命令字+信息等待时间+正文+校验和1)请求标志:05H,单字节2)PLC站号:双字节的ASCII值3)PLC代号:FX系列PLC,固定为46H 46H双字节,也即:“FF”4)命令:双字节ASCII值“WR”5)等待时间:单字节ASCII值“0”~“F”,表示从PLC收到上位机信息到PLC发出信息所需要等待的时间,0~150ms之间变化6)正文:包括两部分,第一部分是启始寄存器,为5字节ASCII字符。
第二部分是要读取的寄存器数,为2字节ASCII字符7)校验和:2) ~6)的所有字节的二进制数值相加所得的数取低字节,然后用两个ASCII字符来表示。
如:累加和为316H,校验和字段就为“16”,即31H、36H。
例如:1、上位机需要读取5号P LC的X0040 ~X005F连续2个16位寄存器(2个字)的值,等待时间设为0ms,不需要结束符号,上位机发送的信息如下:05H 30H 35H 46H 46H 57H 52H 30H 58H 30H 30H 34H 30H 30H 32H 34H 38H 也就是:ENQ(05H)+”05”+”FF”+”WR”+”0”+”X0040”+”02”+”48”(校验和);2、上位机需要读取4号PLC的D1000 ~D1003连续4个16位寄存器(4个字)的值,等待时间设为0ms,上位机发送的信息如下:05H 30H 34H 46H 46H 57H 52H 30H 44H 31H 30H 30H 30H 30H 34H 33H 32H 也就是:ENQ(05H)+”04”+”FF”+”WR”+”0”+”D1000”+”04”+”32” (校验和);(二)从PLC发给上位机成功接收时:信文开始标志(02H)+ PLC站号+PLC代号+正文+信文结束标志(03H)+校验和1)或上位机的读命令有错时发回:非应答标志(15H)+ PLC机号+PLC代号+错误代码2)信文开始标志:02H,单字节3)PLC站号:双字节的ASCII值4)PLC代号:FX系列PLC,固定为46H 46H双字节,也即:“FF”5)正文:每4个ASCII字符一组,代表一个16位的寄存器的16进制数值,用相应的ASCII字符代替6)信文结束标志:03H,单字节7)校验和:2) ~5)的所有字节的二进制数值相加所得的数取低字节,然后用两个ASCII字符来表示。
三菱FX3U-ENET-L网络通讯模块MC协议通讯
三菱FX3U-ENET-L⽹络通讯模块MC协议通讯最近有个项⽬要使⽤FX3U PLC的⽹络通讯功能,配了⼀个FX3U-ENET-L⽹络模块。
调试过程记录如下。
⼀配置软件跟客服确认了FX3U-ENET-L设置需要的组态⼯具软件没有提供到官⽹,要找经销商提供。
如下为软件链接分享。
链接:https:///s/1feBQRSknto3Abso5OB7l1A提取码:khcv软件界⾯如下,类似Q系列⽹络设置的界⾯。
⼆参数设置2.1 连线要使⽤⽹络模块的功能要先配置⽹络参数,先通过PLC的调试线(我使⽤的是USB转9pin串⼝线)连接上PLC,可以先⽤GX Works2 确认连线状态。
确认可以正常连线后,通过上⾯软件界⾯的连接⽬标设置按钮进⼊连接⽬标设置画⾯,确认连线OK。
2.2 ⽹络参数设置然后回到主界⾯设置模块的⽹络参数,主要是运⾏设置和打开设置2.2.1 运⾏设置主要设置:1 通讯⽅式是2进制还是ASCII码,2 通讯模块的IP地址2.2.2 打开设置要注意的是4个通道中通道1,2和通道3,4配置的open system的备选项是不同的。
我这个项⽬主要是3和4两个通道。
如下图通道3设置的MELSOFT连接,⽤于GX Works编程连线;通道4设成被动(MC)开放端⼝5000⽤于MC协议通讯。
三通讯测试MC协议的部分主要参考资料是FX3U-ENET-L⽤户⼿册。
项⽬需求⽐较简单,这⾥只测试了D值的读写功能,指令格式为2进制码。
FX系列使⽤的MC协议指令与Q系列差别较⼤,Q系列的MC通讯我有做总结可以参考相关博⽂。
3.1 读取PLC D值寄存器FX3U单次只⽀持64个D值的读取,如下指令为读取D100-D159 共60个D值。
发送指令:01 FF 0A 00 64 00 00 00 20 44 3C 00接收信息:81 00 64 00 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9E 00 9F 003.2 写⼊PLC D值寄存器如下指令将PLC的D100,D101,D102 设置为1,2,3发送指令:03 FF 0A 00 64 00 00 00 20 44 03 00 01 00 02 00 03 00返回指令:83 00。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FX系列PLC专用协议通信指令一览以下将详细列出PLC专用协议通信的指令:指令注释BR 以1点为单位,读出位元件的状态WR 以16点为单位,读出位元件的状态,或以1字为单位,读出字元件的值BW 以1点为单位,写入位元件的状态WW 以16点为单位,写入位元件的状态,或以1字为单位,写入值到字元件BT 以1点为单位,SET/RESET 位元件WT 以16点为单位,SET/RESET 位元件,或写入值到字元件RR 控制PLC运行RUNRS 控制PLC停止STOPPC 读出PLC设备类型TT 连接测试注:位元件包括X,Y,M,S以及T,C的线圈等;字元件包括D,T,C,KnX,KnY,KnM等。
三菱FX系列PLC编程口通信协议总览该协议实际上适用于PLC编程端口以及FX-232AW 模块的通信。
通讯格式:命令命令码目标设备DEVICE READ CMD "0" X,Y,M,S,T,C,DDEVICE WRITE CMD "1" X,Y,M,S,T,C,DFORCE ON CMD " 7" X,Y,M,S,T,CFORCE OFF CMD "8" X,Y,M,S,T,C传输格式: RS232C波特率: 9600bps奇偶: even校验: 累加方式(和校验)字符: ASCII16进制代码:ENQ 05H 请求ACK 06H PLC正确响应NAK 15H PLC错误响应STX 02H 报文开始ETX 03H 报文结束帧格式:STX CMD DATA ...... DATA ETX SUM(upper) SUM(lower) 例子:STX ,CMD ,ADDRESS, BYTES, ETX, SUM02H, 30H, 31H,30H,46H,36H, 30H,34H, 03H, 37H,34H SUM=CMD+......+ETX;30h+31h+30h+46h+36h+30h+34h+03h=74h;累加和超过两位取低两位1、DEVICE READ(读出软设备状态值)计算机向PLC发送:始命令首地址位数终和校验STX CMD GROUP ADDRESS BYTES ETX SUM例子:从D123开始读取4个字节数据02h 30h 31h,30h,46h,36h 30h,34h 03h 37h,34h地址算法:address=address*2+1000h再转换成ASCII31h,30h,46h,36hPLC返回STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM注:最多可以读取64个字节的数据例子:从指定的存储器单元读到3584这个数据02h 33h 35h 38h 34h 03h 44h,36h2、DEVICE WRITE(向PLC软设备写入值)始命令首地址位数数据终和校验STX CMD GROUP ADDRESS BYTES 1ST DATA 2ND DATA ...... LAST DATA ETX SUM 例子:向D123开始的两个存储器中写入1234,ABCD02h 31h 31h,30h,46h,36h 30h,34h 33h,34h,31h,32h,43h,44h,41h,42h 03h 34h,39h PLC返回ACK (06H) 接受正确NAK (15H) 接受错误3、位设备强制置位/复位FORCE ON置位始命令地址终和校验STX CMD ADDRESS ETX SUM02h 37h address 03h sumFORCE OFF复位始命令地址终和校验STX CMD ADDRESS ETX SUM02h 38h address 03h sumPLC返回ACK(06H) 接受正确NAK(15H) 接受错误设备强制中的地址公式:Address=Address/8+100h说明:1.帧中的BYTES表示需要读取或者写入的字节数。
2.地址算法上有说明。
3.累加和是从STX后面一个字节开始累加到ETX的和。
三菱FX系列PLC编程口通信源代码fx_comm.hFX系列PLC四种通信模式的特性首先讲讲FX系列PLC的通信方式。
FX系列PLC根据使用的通信模块与协议不同,分为以下四种通信模式:1、PLC的N:N通信方式2、PLC双机并联通信方式3、PLC与计算机专有协议通信方式(无须梯形图,电脑直接读写操纵PLC)4、PLC与计算机无协议通信方式(梯形图RS指令方式,可自定义通信协议)以下将详细列出各通信模式的特性:N:N网络PLC并联专用协议计算机连接无协议通信传输标准RS485 RS485/RS422 RS485/RS422或RS232传输距离500m RS485/RS422:500mRS232:15m连接数量8站1:1 1:N(N<=16) 1:1通信方式半双工FX,FX2c,FXon:半双工FX2n: 全双工数据长度固定7bit/8bit校验无/奇/偶停止位1bit/2bit波特率38400bps 19200bps 300/600/1200/2400/4800/9600/19200头字符固定无/有效尾字符控制线------协议--- 格式1/格式4 无和校验固定无/有效适用机型FX2n,FXon FX2n,FX,FX2c FX2n,FXon,FX,FX2cFX系列PLC专用协议通信指令一览以下将详细列出PLC专用协议通信的指令:指令注释BR 以1点为单位,读出位元件的状态WR 以16点为单位,读出位元件的状态,或以1字为单位,读出字元件的值BW 以1点为单位,写入位元件的状态WW 以16点为单位,写入位元件的状态,或以1字为单位,写入值到字元件BT 以1点为单位,SET/RESET 位元件WT 以16点为单位,SET/RESET 位元件,或写入值到字元件RR 控制PLC运行RUNRS 控制PLC停止STOPPC 读出PLC设备类型TT 连接测试注:位元件包括X,Y,M,S以及T,C的线圈等;字元件包括D,T,C,KnX,KnY,KnM等。
FX系列PLC专用协议通信指令格式详解约定说明:ENQ为请求标志,ASCII值5,VB中以chr(5)表示;ACK为正确标志,ASCII值6,VB中以chr(6)表示;STX为请求标志,ASCII值2,VB中以chr(2)表示;EXT为请求标志,ASCII值3,VB中以chr(3)表示;表格中红色字为需要求和效验的部分;和效验为每一项的ASCII值的总和转换成十六进制后区低两位;站号、PLC号、元件数量、和效验都是以十六进制表示;等待延时为0-150毫秒,以十六进制0H-FH表示,如100ms为AH。
1、批量读出位元件--BR指令格式:1 2 3 4 5 6 7 8 15 16 17PC侧:ENQ 站号PLC号BR 延时首地址数量和效验ACK 站号PLC号PLC侧:STX 站号PLC号数据EXT 和效验9 10 11 12 13 14[注] 上述中:1、"PLC号"系统默认为"FF";2、"首地址"应以十进制表示,如首地址"X0018"表示从X寄存器的第18地址单元开始读取I/O量;3、"数量"表示读取的I/O量个数;4、"和效验"是指从"站号"到"数量"之间的各代码的ASCII码的累加和;5、PLC侧的响应码中"和效验"是指从"站号"到"EXT"之间的各代码的ASCII码的累加和。
6、可以读出"X"、"Y"和"M"寄存器的内容。
例如:要读出站号为0的Fx2n系列PLC的X00到X08共9点的状态值,延时100ms,假设采用Communicat ion Format(D8120)的Format 1 方式::注释: 请求站号PLC号命令延时元件首地址元件数量和效验代码: ENQ 0 0 F F B R A X 0 0 0 0 0 9 4 2ASCII码: 05H 30H 30H 46H 46H 42H 52H 41H 58H 30H 30H 30H 30H 30H 35H 34H 32 H您只要将以上兰色部分的代码以字符串形式(VB中可以表示为CHR(5)&" 00FFBRAX00000942")发送到PLC,就会有正确的回应信息,如下:注释: 头站号PLC号元件首地址尾和效验代码: STX 0 0 F F 0 0 1 1 0 1 1 0 1 EXT 0 5ASCII码: 02H 30H 30H 46H 46H 30H 30H 31H 31H 30H 31H 31H 30H 31H 03H 30H 35 H若发送码有误,则有以下回应:注释: 头站号PLC号和效验代码: NAK 0 0 F F 0 6ASCII码: 15H 30H 30H 46H 46H 30H 36H2、批量读出字元件--WR指令格式:1 2 3 4 5 6 7 8 15 16 17PC侧:ENQ 站号PLC号WR 延时首地址数量和效验ACK 站号PLC号PLC侧:STX 站号PLC号数据EXT 和效验9 10 11 12 13 14该命令使用方法与1(BR)命令相同,不再赘述。
3、批量写入位元件--BW指令格式:1 2 3 4 5 6 7 8 9PC侧:ENQ 站号PLC号BW 延时首地址数量写入值和效验PLC侧:ACK 站号PLC号10 11 124、批量写入字元件--WW指令(M寄存器100单元置"1")格式:01FFWWAM010********C1 2 3 4 5 6 7 8 9PC侧:ENQ 站号PLC号WW 延时首地址数量写入值和效验PLC侧:05H 01 FF A M0100 01 0001 0C ACK 站号PLC号10 11 12请自行分析以上代码。
请继续关注如何控制PLC的运行/停止。
三菱PLC与PC机通讯的VB源程序PLC与PC机通讯的VB源程序大体如下:采用的是FX232BD通讯模块,协议就是FX通讯协议。
‘强制PLC为RUNPrivate Sub command1_Click()Dim dat As Stringcommli.OutBufferCount = 0commli.InBufferCount = 0dat = "01FFRR0"commli.Output = Chr$(5) + dat + SumChk(dat)End Sub‘强制PLC为STOPPrivate Sub command2_Click()Dim dat As Stringcommli.OutBufferCount = 0commli.InBufferCount = 0dat = "01FFRS0"commli.Output = Chr$(5) + dat + SumChk(dat)End Sub‘强制Y0为1Private Sub command3_Click()Dim dat As Stringcommli.OutBufferCount = 0commli.InBufferCount = 0commli.Output = “01FFBW0Y001011”End Sub‘强制Y0为0Private Sub command3_Click()Dim dat As Stringcommli.OutBufferCount = 0commli.InBufferCount = 0commli.Output = “01FFBW0Y001010”End Sub''设置电脑通信参数Private Sub Commlis()If commli.PortOpen = True Thencommli.PortOpen = FalseEnd IfIf Not commli.PortOpen ThenmPort = 1 ''通信口commli.Settings = "9600,N,8,1"commli.Handshaking = 0commli.InputLen = 0commli.OutBufferCount = 0commli.InBufferCount = 0commli.PortOpen = TrueEnd IfExit SubEnd SubPrivate Function SumChk(Dats$) As String Dim i&Dim CHK&For i = 1 To Len(Dats)CHK = CHK + Asc(Mid(Dats, i, 1))Next iSumChk = Right(Hex$(CHK), 2)End Function。