8 userdefined comm通信功能.docx
- 文档编号:4901840
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:27
- 大小:652.96KB
8 userdefined comm通信功能.docx
《8 userdefined comm通信功能.docx》由会员分享,可在线阅读,更多相关《8 userdefined comm通信功能.docx(27页珍藏版)》请在冰点文库上搜索。
8userdefinedcomm通信功能
8.2用户自定义协议通讯
8.2.1概要
用户自定义协议通讯允许用户把MK80S基本单元和其它公司的设备进行通讯,同时在MASTER-KPLC中定义其它公司的通讯协议。
因为每个公司都为自己的产品定义了许多通讯协议。
我们不可能包含所有的协议。
因此当用户根据自身的目的定义了自己的协议,MK80S基本单元可以通过自定义的协议与其他设备进行通讯。
基于这样的原因,用户必须在KGLWIN(2.0或更高的版本)中定义协议帧。
同时关于用户自定义协议的内容对于完成通讯是至关重要的。
所以应该确切的知道内容的每一点。
KGLWIN(2.0或更高的版本)可以下载和保存用户自定义的协议帧在MK80S基本单元中(在电源断开的时候,也不会被擦除)。
但是当遇到如下的情况时,协议帧会损坏:
1)下载的参数改变时,2)没有备份数据时,3)备份电池电压低于标准时。
对于用户自定义模式,用户需要根据指令进行编程控制PLC的发送,同时编辑帧。
这一节解释了UDPC的设定和用途。
8.2.2参数设定
1)设定通讯参数
(1)KGLWIN中打开一个新的工程文件
选择MK80S作为PLC类型
(2)在KGLWIN中设定通讯参数后。
双击它然后将激活下面的窗体。
(3)根据下表进行设定
项目
设定范围
站号
从0到31
波特率
1200,2400,4800,9600,19200,38400,57600bps
数据位
7或8位
奇偶位
0,偶或者奇
停止位
1或2位
通讯通道
●RS232C空调制解调器或RS422/485:
它是一个使用MK80S基本单元内置通讯和CnetI/F模块(G7L-CUEC)之间通讯的通讯通道。
●RS232C调制解调器(专用线):
使用带有CnetI/F模块(G7L-CUEB)的专用调制解调器进行通讯的通道。
●RS232C拨号调制解调器:
通过电话线把拨号调制解调器和CnetI/F模块(G7L-CUEB)相连的通讯。
注脚)使用CnetI/F模块(G7L-CUEB)支持RS232C,完成RS232C专用或者拨号调制解调器通讯。
但是不能通过CnetI/F模块(G7L-CUEC)支持RS422/485。
主模式下的暂停
●当主MK80S基本单元发送一个请求帧开始,等待响应帧的时间。
●默认值是500ms。
●必须考虑主PLC的最大发送/接收的周期时间。
●如果设定的值小于最大发送/接收周期时间,导致通讯错误。
用户定义的主站
如果设定为主,它在通讯系统中是主要部件,如果被设定成从站,它仅能接收从主站来的请求帧。
2)
设定帧
(1)在通讯参数中选择协议和模式中的用户自定义术语的一个,‘清单’按钮将被激活。
(2)点击‘清单’按钮激活下面的窗体。
(3)在帧清单中选择1到15,打开下面的窗体。
1帧规范
●头
在[头]类型中使用
可能的字符,可以是一个阿拉伯字母,一个数字或者是控制字符。
控制字符
控制代码
NUL(h00)
STX(h02)
ETX(h03)
EOT(h04)
ACK(h06)
NAK(h15)
SOH(h01)
ENQ(h05)
BEL(h07)
BS(h08)
HT(h09)
LF(h0A)
VT(h0B)
FF(h0C)
CR(h0D)
SO(h0E)
S1(h0F)
DLE(h10)
DC1(h18)
DC2(h12)
DC3(h13)
DC4(h14)
SYN(h16)
ETB(h17)
CAN(h18)
EM(h19)
SUB(h1A)
ESC(h1B)
FS(h1C)
GS(h1D)
RS(h1E)
US(h1F)
Del(H7F)
例1)[NUL],[ENQ],[1],[A]:
可以
例2)NUL,ENQ,[12],[ABC]:
不可以
-仅允许3个连续的字符
例1)[ENQ][STX][NUL]:
可以
例2)[A][NUL][ENQ][STX]:
不可以
●发送/接收
没有定义:
是一个没有说明帧格式的初始值。
发送:
说明一个发送帧。
接收:
说明一个接收帧。
当帧0窗体被激活时,术语Tx/Rx被设置为“没有定义”,所有的段没有处于
激活状态。
段(1-8):
一个一个的键入段以分开固定的发送数据区域(CONSTANT)和设备区域(Array)。
项目
内容
设定段的类型,它们是NONE(没有定义),CONST(固定数据区域),ARRAY(设备区域)。
CONST说明了通信帧使用了命令和固定数据,ARRAY被中间通讯过程用来输入和保存数据。
ARRAY类型必须总是字节。
这是一个被通信帧使用,说明命令和固定数据的区域和说明输入的区域。
ASCII输入必须在10字符之内,十六进制必须在20个字符之内。
如果数目超过了极限,应该将下一个段设定成相同的类型,然后继续输入。
作一个专用协议通讯,10RSB06%MW10006是一个执行从16号从站的M1000读取6个字的帧。
例1)10RSB06%MW10006
如果段被表示成ARRAY类型,表示传送设备(P,M,L,K,F,T,C,D)和传送字节的数目。
例2)如果用户想要传送D000~D003,应该象如下的方法设定
(传送设备:
D000,传送数目:
6字节)
这是选择命令输入类型的单选按钮。
有十六进制和ASCII值2种。
例1)ASCII:
10RSB06%MW100
例2)十六进制:
31305253423036255744313030
如果设定了ARRAY,它将询问用户是把数据转换成ASCII发送,(在发送帧的情况),还是转换成十六进制接收(在接收帧的情况)。
如果设定了ARRAY,区域的尺寸可以设定为字节。
单位必须是字节。
●
尾
在[尾]类型中使用
可能的字符,可以是一个阿拉伯字母,一个数字或者是控制字符。
控制字符
控制代码
NUL(h00)
STX(h02)
ETX(h03)
EOT(h04)
ACK(h06)
NAK(h15)
SOH(h01)
ENQ(h05)
BEL(h07)
BS(h08)
HT(h09)
LF(h0A)
VT(h0B)
FF(h0C)
CR(h0D)
SO(h0E)
S1(h0F)
DLE(h10)
DC1(h18)
DC2(h12)
DC3(h13)
DC4(h14)
SYN(h16)
ETB(h17)
CAN(h18)
EM(h19)
SUB(h1A)
ESC(h1B)
FS(h1C)
GS(h1D)
RS(h1E)
US(h1F)
Del(H7F)
例1)[NUL],[ENQ],[1],[A]:
可以
例2)NUL,ENQ,[12],[ABC]:
不可以
-仅允许3个连续的字符
例1)[ENQ][STX][NUL]:
可以
例2)[A][NUL][ENQ][STX]:
不可以
-可以使用检查错误的BCC。
BCC必须在设定成[BCC]时使用。
为了设定BCC内容,点击在右侧的“BCC设定”按钮。
例5)
●
BCC设定:
当需要时设定BCC。
项目
内容
数据类型
ASCII增加2个ASCII类型的字节BCC值到帧。
十六进制增加1个十六进制类型的字节BCC值到帧。
设定BCC的具体细节,请参阅8.1.6“命令的执行”
检查规则
默认值
这是标记为[BCC]的数据之前的从第2个数据开始的所有数据的和。
输入结果到[BCC]区域
和(
SUM)1
BCC方式使用类似默认值的和。
但是用户可以定义BCC区域。
和(
SUM)2
BCC方式与SUM1相同,但是当屏蔽最后的BCC值时使用。
异或(
XOR)1
BCC方式是OR(异或).
异或(
XOR)2
BCC方式与XOR1相同,但是当屏蔽最后的BCC值时使用。
乘积(MUL)1
BCC方式为乘法。
乘积(MUL)2
BCC方式与MUL1相同,但是当屏蔽最后的BCC值时使用。
范围
H表示头,S表示段,T表示尾。
例1)当头设定为[ENQ][STX],尾为[EOT][ETX],设定BCC的范围从[STX]到
[ETX],然后设定H[1]~T[1].
补码
设定是否取补码或者在[BCC]的1或者2的补码。
如果在取补码之后,进行屏蔽设定,用户可以设定任何值取做屏蔽。
模
屏蔽的方法和设定值
例1)XOR方法屏蔽时,使用值HFF:
^FF
例2)OR方法屏蔽时,使用值HFF:
|FF
使用AND方法屏蔽时,使用值HFF:
&FF
&
7
^
6
※设定屏蔽方法的键盘上的键→
●帧尺寸
-ASCII通讯:
最大128字节
-Hex通讯:
最大256字节
●连接继电器(L)
-它是一个表示是否按用户的顺序接收到定义的帧的标志。
-如果接收到的帧与在帧3号清单中定义的帧相匹配,L003开始闪烁。
(0→1→0)
●当接收了帧后,MK80S基本单元检查接收到的帧与在帧清单中说明的帧是否匹配。
如果匹配,连接继电器L(n)标志闪烁,同时保存接收到的数据在值定区域。
BCC计算举例
当按如下的方法设定帧时,出现以下的结果。
(1)默认值设定
段输入的分类
总和检查的值
最后一个传送帧
BCC类型设定
ASCII类型
十六进制类型
ASCII输入
31+32+33+34+04=CE
0531323334044341
053132333404CE
Hex输入
12+34+04=4A
051234043441
051234044A
(2)和(SUM)1,异或(XOR)1或者乘积(MUL)1设定
a)和(SUM)1
段输入的分类
总和检查的值
最后一个传送帧
BCC类型设定
ASCII类型
十六进制类型
ASCII输入
05+31+32+33+34+04=D3
0531323334044433
053132333404D3
Hex输入
05+12+34+04=4F
051234043446
051234044F
b)XOR1
段输入的分类
总和检查的值
最后一个传送帧
BCC类型设定
ASCII类型
十六进制类型
ASCII输入
05^31^32^33^34^04=05
0531323334043035
05313233340405
Hex输入
05^12^34^04=27
051234043237
0512340427
c)MUL1
段输入的分类
总和检查的值
最后一个传送帧
BCC类型设定
ASCII类型
十六进制类型
ASCII输入
05x31x32x33x34x04=60
0531323334043630
05313233340460
Hex输入
05x12x34x04=20
051234043230
0512340420
d)补码设定
补码计算
=hD3(总和检查的值)
位7位0
1
1
0
1
0
0
1
1
1’补码=h2C(最后一个总和检查的值)
位7位0
0
0
1
0
1
1
0
0
2’补码=1’complement+1=h2D(最后一个总和检查的值)
位7位0
0
0
1
0
1
1
0
1
e)模设定
模设定如下
=hD3(s总和检查值)
位7位0
1
1
0
1
0
0
1
1
=hFF(模值)
位7位0
1
1
1
1
1
1
1
1
AND模=hD3
位7位0
1
1
0
1
0
0
1
1
OR模=hFF
位7位0
1
1
0
1
0
0
1
1
异或(ExclusiveOR)模=h2C
位7位0
0
0
1
0
1
1
0
0
8.2.3指令
指令
可以使用的设备
步数
标志
M
P
K
L
F
T
C
S
D
#D
整数
错误
(F110)
零
(F111)
进位
(F112)
SND8
S1
O
5
O
S2
O
O
O
O
O
O
错误
(F110)
当指定区域溢出时,出现错误标志
帧号,在参数中指定whichisdesignatedatparameter
n
设定
SND8nD
通信状态已存储的设备
D
SND8
1)功能
当通讯条件满足时,根据在参数中指定的协议开始通讯。
‘n’是在参数中指定的帧数
‘D’是通信状态已存储的设备
2)编程举例
[SND83M000]
P0020
当输入条件满足时,根据用户定义的3中的协议开始通讯。
通讯状态存储在M000,M000格式如下
位15位8位1位0
已完成位
错误位
错误代码
已完成位:
传送正常完成时,在一次扫描期间这个位变成on。
错误位:
当通讯错误出现时
错误代码:
当错误位变成on时,它存储错误代码。
3)错误代码
代码
错误类型
解释
06
从设备占线
发送或者等待接收
09
参数错误
通讯参数设定错误,连接使能(enable)设定错误
10
帧类型错误
没有设定帧或者帧没有发送’
8.2.4举例
这个例子假定通过用户自定义的协议在MK80S之间进行通讯。
系统构造如下,电缆与1:
1专用协议通讯一样。
T
在主站的M区域的数据发送到从站,同时从站保存接收到的数据在M区域作为直接变量。
发送数据至主站。
这个过程在主站和从站之间重复。
1)主站的编程和设定通讯参数
(1)选择通讯参数,通讯方法和通讯通道。
.
然后在协议和模式项目下,选择‘用户自定义’(清单项目被激活)
点击‘清单’
双击数目‘0’
按照上面的方法,指定头,段,发送/接收,尾。
然后点击BCC设定
按照上面的方法,指定BCC设定。
点击OK按钮,用户可以看到指定的帧清单窗体。
双击1号帧
BCC设定方法与帧0相同。
在帧设定和BCC设定完成时,点击OK按钮。
用户可以看到指定的帧清单窗体。
编程
当数据在1号帧接收时,在一次扫描期间,连接继电器L001变成on。
在这时M000增加。
同时M000值移动到输出继电器P004。
M000的新值经每秒的间隔再次发送。
(F092是1秒周期标志)
发送的数据正常时保存在D000。
当错误出现时,发送错误的数目保存在D001。
当接收数据时,MK80S自动地在帧清单中搜索同样的协议。
因此,MK80S不接收指令。
(如果相同的协议存在,MK80S接收上一个帧号中的数据。
)
2)从站设定和编程
打开一个新的工程文件,设定新的参数。
在设定了通讯方法和通道后点击清单。
双击帧清单‘0’
在设定了头,段,尾后点击BCC设定。
在BCC设定完成后,点击OK按钮。
用户可以看到指定的帧清单。
以如下的方法设定帧号‘1’
双击BCC设定,然后设定BCC(见下表)
用户可以看到指定的帧清单
点击OK按钮
编程
当数据在0号帧接收时,在一次扫描期间,连接继电器L000变成on。
在这时P004增加。
同时P004值移动到输出继电器M000。
P004的新值经每秒的间隔再次发送。
(F092是1秒周期标志)
发送的数据正常时保存在D000。
当错误出现时,发送错误的数目保存在D001。
~84
memo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- userdefined comm通信功能 comm 通信 功能