你现在位置:首页>技术论文>数据通讯>正文
计算机与松下FP1系列可编程控制器的通信 
日期:2005-10-28 23:41:41 来源:本站整理  
点击: 作者:
点击【】放大字体.
The Communication Between PC and NASI FP1 Series PLC 
WW.W_PLC※JS_C,OM-PL,C-技.术_网

武汉科技大学信息科学与工程学院 甘朝辉 张 震 
WWW.PLCJS.COM——可编程控制器技术门户

Gan Zhaohui Zhang Zhe 
P.L.C.技.术.网——可编程控制器技术门户

摘 要:本文介绍了松下公司PLC通信协议MEWTOCOL-COM,并在Windows下编程实现了松下FP1系列PLC与计算机的通信。 
WWW_PLC※JS_COM-PmLC-技.术_网

关键词:通信协议 RS232 PLC 
WWW.PLCJS.COM——可编程控制器技术门户

AbstractThe paper introduces the MEWTOCOL-COM communication protocol of NASI PLC.A small program in Windows is written to complete the communication between computer with NASI FP1 series PLC. 
P.L.C.技.术.网——可编程控制器技术门户

Key wordsCommunication Protocol RS232 PLC 
WW.W_PLCJS_COM-PLC-技.术_网

分类号TN919 文献标识码A 文章编号1606-5123200206-0048-0 
WWcW_PLCJS_COM-PLC-技.术_网

1 引 言 
——可——编——程——控-制-器-技——术——门——户

可编程控制器以下简称PLC由于其高可靠性、编程简单、通用性强、体积小、结构紧凑、安装维护方便等特点,而在工业控制中得到了广泛应用。由于计算机在图形显示、数据处理、打印报表、中文显示等方面有很强的功能,因此在诸如柔性制造系统的现代化大型控制系统中常常将多台PLC与计算机联接起来构成多级分布控制系统。在此类系统的构成中,关键问题之一是如何实现PLC与计算机之间的通信。不同系列的PLC与计算机通信方式各不相同,本文以松下公司的FP1系列PLC为对象,分析了通信接口及通信协议,并在Windows 98Se中用Borland C++Bulider 5.0编制了一个简单的通信程序。 
——可——编——程——控-制-器-技——术——门——户

2 松下FP1系列PLC与计算机之间的通信接口及通信协议 
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

2.1 通信接口 
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

FP1系列的通信接口采用标准9芯RS232接口,接线如图1所示。 
——可——编——程——控-制-器-技——术——门——户

1 PC的RXD端与PLC的TXD端联接,使PC接收到PLC发出的数据。 
WWW_P※LCJS_COM-PLC-)技.术_网

2 PC的TXD端与PLC的RXD端联接,使PC发出的数据被PLC接收到。 
WWW_P※LCJS_CO※M-PLC-技-.术_网

3 PC与PLC的SG端互联,使两者的工作基准地电平相同。 
plcjs.技.术_网

4 PC与PLC的RTS端互联,PC在此引脚发出讯号, 通知 
WWW_PLCJS_COM-PLC-技.术_网

PLC可以向PC发送数据。 
plcjs.技.术_网

5 PC与PLC的CTS端互联,PLC在此引脚发出讯号,通知PLC可以向PC发送数据。 
WWW_P※LCJS_CO※M-PLC-技-.术_网

2.2 通信协议 
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

松下FP1系列PLC与计算机之间的通信协议为松下公司专用的MEWTOCOL-COM协议。该协议采用异步通信方式,其波特率有1200、2400、4800、9600、19200、38400、57600、115200bps等多种可选,且报文长度可变可固定。该协议格式分为命令消息Command Message,正常响应消息Response Message-normal,出错响应消息Response Message-error三种。 
WWW_PL※CJS_COM-PLC-技.术_网

其中,%为起始符,标记每一帧报文的开始,CR为结束符,标记每一帧报文的结束。 
——可——编——程——控-制-器-技——术——门——户

AD为PLC的站地址,为两位16进制数,如00则表示第一台PLC。 
plcjs.技.术_网

#、$、标注该帧报文为何种类型。 
P.L.C.技.术.网——可编程控制器技术门户

Command code为命令代码,如后文的例1中的“RD”,表示读数据区。Response code为响应代码一般返回接收到的命令消息中的命令代码。ErrorH和ErrorL为出错代码,是两位16进制数,可根据其值在协议中查出错误的描述。 
WWW_PLC※JS_COM-PmLC-技.术_网

Text code为命令参数,如例1命令消息中“D0110501107”,“D”表示数据寄存器,“01105 01107”表示第1105号至1107号,而在例1响应消息中,“6300 4433 0A00”则表示DT1105至DT1107中数据分别为6300、4433、0A00。 
WW.W_PLC※JS_C,OM-PL,C-技.术_网

BCCH和BCCL为前面字符串的BCC校验码的高、低位,为两位16进制数。其初值为0,然后从起始符开始与该帧报文中每一字节按位进行异或运算得到。 
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

例1:读取DT1105至DT1107中的数据的命令消息如下: 
——可——编——程——控-制-器-技——术——门——户

% 01 # RD D01105 01107 57 CR 
WWW_P※LCJS_COM-PLC-)技.术_网

若DT1105至DT1107中数据分别为6300、4433和0A00,PLC返回的响应消息如下: 
WWW_PLCJS_COM-PLC-技.术_网

% 01 $ RD 6300 4433 0A00 62 CR 
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

3 PC与松下FP1系列PLC通信的WINDOWS编程实现 
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

在本程序中用到了MSCOMM32.OCX控件,该控件可在MS Visual Basic 6.0的光盘中找到,但需注册,安装一遍VB即可解决。 
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

第一步:C++Builder 5.0中导入MSCOMM32.OCX控件,新建一个Application。在其主窗体中添加一个MSComm控件,命名为MSComm1,并设置其属性值。注意波特率及校验方式要与PLC的设置一致。再添加一个Label控件和一个Button控件,分别命名为Labell和Buttonl。 
WWW.PLCJS.COM——可编程控制器技术门户

第二步:在Buttonl的OnClick事件中添加如下代码。 
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

int i 
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

AnsiString outs 
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

Ole Variant buf 
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

outs=″%01#RDD011050110757\r″∥设置命令消息 
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

ifMSComml->PortOpen==falseMSComml->PortOpen=true∥打开端口 
W1WW_P4LCJS_COM-PLC-技.术_网

buf=outs 
WWW_P※LCJS_CO※M-PLC-技-.术_网

MSComml->Output=buf 
——可——编——程——控-制-器-技——术——门——户

i=0 
WWW_PLCJS@_COM%-PLC-技.术_网

whilei<=10000000i++∥延时,等待PLC发回响应消息 
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

outs=″″ 
WWW_P※LCJS_CO※M-PLC-技-.术_网

buf=MSComml->Input∥接收响应消息 
WWW_P※LCJS_COM-PLC-)技.术_网

outs=WideStringbuf 
WWW.PLCJS.COM——可编程控制器技术门户

ifouts=″″Labell->Caption=outs 
WWW_PL※CJS_COM-PLC-技.术_网

else Labell->Cabell->"接收不到"; 
WWW_PL※CJS_COM-PLC-技.术_网

若想采用其它命令消息,则必须计算其BCC校验码,可采用如下函数实现。 
WWW_PLC※JS_COM-PmLC-技.术_网

AnsiString BCCProAnsiString ComdMesg 
WWcW_PLCJS_COM-PLC-技.术_网

 
——可——编——程——控-制-器-技——术——门——户

unsigned char bcc 
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

unsigned char*tempc 
WWW.PLCJS.COM——可编程控制器技术门户

char ab 
WWW_PLCJS_COM-PLC-技.术_网

AnsiString BccH 
P.L.C.技.术.网——可编程控制器技术门户

AnsiString BccL 
P.L.C.技.术.网——可编程控制器技术门户

AnsiString temp 
WW.W_PLC※JS_C,OM-PL,C-技.术_网

int bcc-int 
WWW_PL※CJS_COM-PLC-技.术_网

int i 
WWcW_PLCJS_COM-PLC-技.术_网

temp=ComdMesg 
WW.W_PLCJS_COM-PLC-技.术_网

tempc=ComdMesg.c-str 
WWW_PLCJS_COM-PLC-技.术_网

bcc=0 
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

fori=0i< temp.Lengthi++bcc^=tempci 
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

bcc-int=bcc 
WWW_P※LCJS_COM-PLC-)技.术_网

BccH=bcc-int/16 
WW.W_PLCJS_COM-PLC-技.术_网

BccL=bcc-int%16 
WW.W_PLC※JS_C,OM-PL,C-技.术_网

BccH=IntToHexBccH 
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

BccL=IntToHexBccL 
WW.W_PLCJS_COM-PLC-技.术_网

temp=ComdMesg+BccH+BccL+″\r″ 
WW.W_PLC※JS_C,OM-PL,C-技.术_网

return temp 
WWW_P※LCJS_COM-PLC-)技.术_网

 
WWW_P※LCJS_CO※M-PLC-技-.术_网

使用这个函数便可将所有你要发送的命令消息自动加上两位16进制BCC码和结束符。 
WWW.PLCJS.COM——可编程控制器技术门户

4 结 论 
WWcW_PLCJS_COM-PLC-技.术_网

本文所有程序均在Windows 98SeBorland C++Bulider 5.0环境中调试通过,并多次长时间运行测试,以验证其准确性与稳定性,收到了令人满意的效果,通信十分稳定可靠。读者可在本文的基础上,参考松下公司的MEWTOCOL-COM协议,便可轻松实现PC与松下FP1系列PLC的通信,以完成上位机对PLC的监视与控制。 
WWW.PLCJS.COM——可编程控制器技术门户

参 考 文 献 
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

1NASI可编程控制器FP系列FP1硬件技术手册.松下电工株式会社,1999 
WWcW_PLCJS_COM-PLC-技.术_网

2松下PLC MEWTOCOL-COM通信协议.松下电工株式会社,1999 
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

3范逸之. Visual Basic与RS232串行通讯控制. 中国青 
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

年出版社,2000 
出自:[]
评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行