您现在的位置是:首页 > PLC技术 > PLC技术
三菱FX系列PLC在SC-09下与上位机通信
来源:艾特贸易2017-06-05
简介在 PLC 网络的上、下位机主从式结构中,计算机为上位机,而面向现场的 PLC 为下位机,两者之间要用相应的接口模块连接来实现双方的通信。在三菱的各种通信接口中, SC-09 接口电缆
在PLC网络的上、下位机主从式结构中,计算机为上位机,而面向现场的PLC为下位机,两者之间要用相应的接口模块连接来实现双方的通信。在三菱的各种通信接口中,SC-09接口电缆既能用于FX全系列的PLC,在价格上又相对低廉,应用十分普遍。它在使用时需要用FXGP等通信软件,但FXGP没有全面地提供对PLC内部软元件进行读写的功能,因此,用户往往需要自行用高级语言来开发实用的通信程序。 本节将介绍用VB 6.0编制一个适用于三菱FX全系列PLC在SC-09下的通信程序,该通信程序能读写字软元件的当前值和位映像组件的状态值,能选择单字、双字或多字批量的读写,能选择使用十进制或十六进制,还能对单独的位映像元件强制复位与置位。 图6. 27所示界面的三菱FX系列通信程序采用VB 6.0的MSComm控件来编程,具有更为完善的发送和接收功能。除了不能对PLC的定时器和计数器的常数设定值与文件寄存器内的数据进行读写外,FX系列PLC的所有开关量输入、输出以及各种软元件对本通信程序都是透明的。无论PLC处在STOP状态还是RUN状态,都可以按表6.3所列的命令对其进行各种操作。 图6.27 读D0~D3的6个字节数据的多字符帧 1.批量读字软元件与位映像组件 (1)批量读字软元件 读字软元件是指读取寄存器D、T、C的当前值。例如,要批量读取D0~D3的6个字节的数据,可以用表6.3中第1条指令,再按照图6.9所示格式,得到批量读此数据块的多字符帧如图6. 28所示。其中,组软元件的首地址1000H正是D0的地址,字节数的取值范围为01H~40H,即最多能读取64个字节,5A为校验和。
图6.28 读D0~D3的6个字节数据的多字符帧 按图6. 28所示可以求出校验和SUM的值,先将从命令码起到ETX为止的各个字符的十六进制ASCII码值相加,即30H+31H+30H+30H+30H+30H+36H+03H=15AH,取最低两位数,则校验和SUM=5AH。 下面给出在读命令按钮的单击事件中批量读的主要VB程序。
上述程序中,当读取字节数Num1=2时,为16位字的读取.如定时器T0~T205、计数器C200以下和16位数据寄存器D;当Num1=4时,为32位字的读取,如计数器C200以上和32位数据寄存器D。 (2) PLC对计算机批量读操作的响应 上述程序中,如果读操作正确,变量Setln中的内容就是读取的数据块的内容。设D0~D3的数据按从低至高排列为“01 02 03 04 05 06”(D0为最低),则读响应多字符帧的格式如图6. 29所示。校验和值SUM是将第一字节内容到ETX之间的所有字符的十六进制ASCII码值相加,取和的最低二位,即SUM= 58H。如果读操作失败,PLC将响应NAK。
图6.29 PLC对计算机批量读响应的多字符帧 下面只给出读操作成功后,按十进制把SetIn中内容显示出来的主要VB代码。
(3)批量读位映像组件及PLC的响应 读位映像组件是指读S、X、Y、M、T、C的状态值。这里批量读与PLC响应的多字符帧的格式与上面批量读字软元件类似,不同的是位映像组件的地址分配。例如,要读取输出线圈Y0~Y17的状态,可以参照图6.28来得到用字符表达的多字符帧为:STX000A002ETX66。 其中,组首地址00A0H正是Y0的地址,02H为字节数,66H为校验和。VB编程时,可将计算位映像组件的地址作为一个函数调用,其余部分程序就可与批量读字软元件共用。 2.批量写字软元件与位映像组件 (1)批量写字软元件 表6.3中的第2条指令可以批量写入字软元件D、T、C的当前值。例如,要批量写入D0~D3的6个字节的数据,设写入数据按从高至低排列为“01 02 03 04 05 06”。批量写此数据块的多字符帧格式如图6. 30所示。其中,组首地址1000H正是D0地址,字节数为06H(取值范围也为01H~40H),B0为校验和。
图6. 30 写从D0~D3的6个字节数据的多字符帧 下面给出在写命令按钮的单击事件中批量写的主要VB程序。
(2) PLC对计算机批量写操作响应 如果写操作正确,变量Setln中的内容就是ACK的ASCII码值6;如果写操作失败,Setln中的内容就是NAK的ASCII码值21。 (3)批量写位映像组件及PLC的响应 批量写位映像组件S、X、Y、M、T、C的多字符帧格式与上面介绍的批量写字软元件类似,不同的是位映像组件的地址分配。例如,要写入从Y0开始的6个字节的数据,写入数据按从高至低排列为“01 02 03 04 05 06”,则对应的多字符帧只要把图6. 30中的组首地址改为Y0的地址00A0H,把校验和改为C0H就可以了。PLC对批量写位映像组件响应同(2)所述。 3.位映像元件的强制复位与置位 表6.3中的第3、4条指令可以对单独的位映像元件X、Y、M、S以及定时器T和计数器C的逻辑线圈执行强制复位与置位。例如,要对Y0强制执行置位操作,其多字符帧格式如图6. 31所示。其中,元件首地址,即Y0的地址为0500H,但要按低位字节在前、高位字节数在后排列,校验和为FFH。这里位映像元件的地址分配与其批量读写时的地址是不同的。
图6. 31 对Y0强制执行置位的多字符帧 PLC对强制置位、复位的响应,也是写入正确时响应ACK,否则响应NAK。
点击排行
