HostLink协议.docx
- 文档编号:26213943
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:11
- 大小:291.15KB
HostLink协议.docx
《HostLink协议.docx》由会员分享,可在线阅读,更多相关《HostLink协议.docx(11页珍藏版)》请在冰豆网上搜索。
HostLink协议
2-1C-MODE命令
C-MODE(HOSTLINK)命令组成一个串行通讯命令/应答系统,用以在cpu单元和主控电脑之间执行各种控制操作。
这些操作包括从I/O内存中读取或者写入,改变操作模式,执行强制设置或者强制复位操作,等。
。
。
和FINS命令不同,C-MODE命令只能被CPU单元寻址,但是它不能使用本地网络外的信息服务,不能使用例如文件操作功能。
C-MODE(HostLink)命令能够从一台连接着CS/CJ系列的HostLink单元的主机上发。
一台电脑主机最多可以连接32台PLC单元。
每个PLC被指定一个单元码从0-31,用以区分。
一次单独的命令或者或响应对话叫做“帧”。
一个单独帧最多包换131个字节,字节以ASCII码方式发送或接受。
注意:
CS/CJ-系列PLC,是一个CPU单元,一个串行通讯模块,或者一个串行通讯板。
第一个字帧不能超过30个字。
后面的不能超过31个字。
当读写多余30个字的时候,将要分多条处理,第一帧是30字,后续帧是31字。
HostLink命令帧从电脑发送,然后由PLC收到命令后响应,在下面章节详解。
2-2命令/响应格式
单独帧命令 如果一个命令没有超过131字节长。
通讯可以使用一个单独帧来完成,这种帧称作“单独帧命令”。
命令帧格式:
@ :
必须写在命令起始
单元号码:
表示每一个HOSTLINK单元,用BCD码表示从3030到3331
起始码:
两字节
文本:
依据命令码设定参数
FCS:
在计算机上计算两字节FCS(桢检查序列),更多细节,参看后续章节
结束符:
设置*和CR(CHR$(13))两字节,指明命令中止
单独桢响应:
如果一个响应不超过131字节,通讯可以以一个单独的响应桢结束。
这就叫做“单独桢响应”
响应桢格式
@ :
必须写在命令起始
单元号码:
表示每一个HOSTLINK单元,用BCD码表示 从3030到3331
起始码:
将接受到的命令码反馈回去。
结束码:
反馈命令执行情况(比如错误状态)
文本:
仅当又读取数据的时候才返回。
FCS:
在计算机上计算两字节FCS(桢检查序列),更多细节,参看后续章节
结束符:
两个字节指明命令的结束,设置*和CR(CHR$(13))两字节,指明命令中止
错误响应格式:
如果一个接收错误或者一个执行命令错误产生的时候,将返回一个没有文本的响应。
命令分割:
如果一个命令长度大于131字节,命令文本将要被分割,使用分隔符(CRcode,CHR$(13))来代替在每一个命令结尾的结束符直到最后一桢,结束符应当在最后一桢发送。
下列给出一个3个命令桢的范例。
注意:
当发送一个写命令桢(WR,WL,WC,WD,etc.),请注意不要把命令拆分乘多个数据桢,那样会造成写入同样的字。
1,2,3。
。
。
1。
从主控电脑,在命令桢1的最后加一个CR分割符然后发送
2。
当PLC接受到这个分割符后,将仅仅返回这个分割符到主控电脑
3。
从主控电脑,在命令桢2的最后加一个CR分割符然后发送
4。
当PLC接受到这个分割符后,将仅仅返回这个分割符到主控电脑
5。
从主控电脑,在命令桢2的最后加一个*CR结束符然后发送
6。
当PLC接收到这个*CR结束符,返回一个结尾带有*CR结束符然的响应格式。
下图表明一个超过131字节的命令格式。
注意:
一个“分割符”是一个CR码[CHR$(13)],当单个字节发送的时候表示命令桢发送为完成响应。
相应信号的分割:
如果一个响应超过131字节长度,PLC会将响应命令用CR分割符结尾,以代替结束符,一直发送到最后一桢,结束符在最后一桢发送。
下面例子,表明一个被分成3份的响应桢。
1,2,3。
。
。
1。
当PLC接收到一个从主控电脑发来的命令桢,它将向主控电脑发送一个带有(CR)分割符的响应桢1。
2。
只有一个分割符从主控电脑发送给PLC
3。
当PLC收到这个分割符CR,将反馈带有分割符CR的应答桢2到主控电脑
4。
只有一个分隔符CR从主控电脑发送到PC
5。
当PLC受到这个分隔符CR后,反馈一个带有结束符的应答桢3到主控电脑。
下图表示一个长度超过131字节的应答桢格式。
注意:
1。
在分割的命令或者应答桢内字节数量不能够超过128字节,包括结束符或者分隔符
2。
从主控电脑里发出来的分隔符被检测依靠CR分隔符的存在,即使分隔符前面有数据。
FCS(桢检查序列)计算:
PLC计算每一个收到的命令桢FCS数值,然后通过比较计算出来的值和FCS值来检查错误。
计算机主机必须在发送数据桢的时候来计算FCS的数值。
当检查应答桢的错误的时候,也要通过主控电脑来计算出来的数值和FCS值进行比较,来排除错误。
数值被转化为HEX码,处理当作ASCII码
注意:
FCS是一个8位数值转换为两位ASCII字节。
这个8位数值使用异或指令操作,在发送中接受到的每个字节,顺序操作下去。
从第一个字节,到数据桢中的文本的最后一个字节。
有时候会再文本数据中发送非ASCII数据。
如果数据长度是7,最左边的数据为将在计算FCS之前屏蔽掉。
应用例程:
发送
10’CS1SAMPLEPROGRAMFOREXCEPTION
20CLOSE
30CLS
40OPEN“COM:
E73”AS#1
50*KEYIIN
60INPUT”DATA–”,S
70IFS$=””THENGOTO190
80PRINT”SENDDATA=”;S$
90ST$=S$
100INPUT”SENDOK?
YorN?
=”,BS
110IFB$=”Y”THENGOTO130ELSEGOTO*KEYIN
120S$=ST$
130PRINT#T,S$ SendscommandtoPC.
140INPUT#1,R$ ReceivescommandfromPC.
150PRINT”RECVDATA=”;R$
160IFMID$(R$,4,2)=”EX”THENGOTO210 Identifiescommand.
170IFRIGHT$(R$,1)<>”*”THENS$=””:
GOTO130
180GOTO*KEYIN
190CLOSE1
200END
210PRINT”EXCEPTION!
!
DATA”
220GOTO140
说明:
1.2.3...
1.主控电脑发送接收程序开始,HostLink命令为输入
2.HostLink输入命令发送到PLC,接收到的数据显示在屏幕上
注意:
程序到了这里不包含接收到非正常数据的错误处理例程(比如,没有收到FCS),在实际例程中要加入错误处理。
400*FCSCHCK
410L=LEN(RESPONSE$) Transmission/receptiondata
420Q=0:
FCSCK$=””
430A$=RIGHT$(RESPONSE$,1)
440PRINTRESPONSE$,A$,L
450IFA$=”*”THENLENGS=LEN(RESPONSE$)–3
ELSELENGS=LEN(RESPONSE$)–2
460FCSP$=MID$(RESPONSE$,LENGS+1,2) FCSdatathatisreceived
470FORI=1TOLENGS NumberofcharactersinFCScalculation
480Q=ASC(MID$(RESPONSE$1,1))XORQ
490NEXT1
500FCSD$=HEX$(Q)
510IFLEN(FCSD$)=1THENFCSD$=”0”+FCSD$ FCScalculationresult
520IFFCSD$<>FCSP$THENFCSCK$=”ERR”
530PRINT”FCSD$=”;FCSD$,”FCSP$=”;FCSP$,”FCSCK$=”;FCSCK$
NormalFCSreception:
“”(space);abnormalFCSreception:
“ERR”
540RETURN
2-4在先前型号中使用程序的注意事项
2-4-1使用电脑程序对C系列HostLink单元的写操作
每一个帧的字数
当使用下列指令对I/O内存进行读操作的时候,每一个帧的文本区域的字长度CS/CJ系列单元和C系列单元是不同的。
C系列单元在第一个数据帧内处理29个字,随后数据帧内处理30个字。
CS/CJ系列第一个帧处理30个字,后续帧处理31个字。
起始码 名称
RR CIO区域读取
RL LR区域读取
RH HR区域读取
RC 定时器/计数器PV读取
RG 定时器/计数器状态读取
注意:
对于RG命令来说每一个桢的数据长度是不同的,对于其他C-Mode命令来说。
更多细节参见C-ModeRG命令桢中的字段名称。
RD DM区域读取
RJ AR区域读取
每一桢数据长度的差异,能够引起电脑和先前C系列单元正常运行,然而和CS/CJ系列工作不正常。
检查电脑的操作程序,必要的情况下改正。
C-Mode命令中的字数量(不包括RG命令)
单元 C系列 CS/CJ系列 CVM1andCV系列 每一桢数据个数
C-Mode中的RG命令
注意:
下列情况下桢数据长度会发生变化
3-1FINS命令
FINS命令形成一个可以跨越不同欧姆龙网络的命令系统。
它可以用于不同的控制操作,比如发送接受数据,改变炒作模式,等等。
FINS命令使自由的与不同网络的单元通讯,简单指定的网络,节点和单元。
FINS命令又以下特征:
1.2.3.。
。
1.他定义在应用层不依靠底层。
(尤其,物理层和数据链路层)。
这就允许了它可以跨越不同的网络和CPU总线。
尤其的,它可以使用以太网,控制器联接,和HOSTLINK网络,和CPU单元与CPU总线单元。
注释:
当使用以太网时候,FINS命令能够发送UDP/IP报文头。
当使用HostLink的时候,可以发送HostLink命令把报文头。
2.FINS命令可以跨越基于各种CPU的设备。
例如CPU单元,CPU总线单元,个人电脑。
以及内部线路板,能够标识单元地址以及指定单元地址的。
3.FINS命令支持网络中转操作,它可以跨越网络层可以跨越多至3层网络(包括本地网络)
FINS命令的类型:
FINS命令右2种基本类型:
一种是CPU单元寻址,另一种是CPU总线寻址。
在CPU单元的FINS命令中,命令寻址各个CPU单元,比如CS/CJ系列CPU单元,CV系列
CPU单元,C200HX/HG/HECPU单元等等。
。
。
基本的编码系统相同,但是细节根据各种CPUd单元而定。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- HostLink 协议