首页 理论教育 关键点解析:计算机程序设计

关键点解析:计算机程序设计

时间:2023-06-16 理论教育 版权反馈
【摘要】:图5-110 接收数据4.处理数据计算机从PLC读取数据总是要进行处理。以下将介绍几个与通信有关的计算机编程方法与程序实例。尽管这时间仅几毫秒,但也要等待提示2:如不用通信协议,而要进行通信,除了计算机方的程序外,还必须弄清PLC的有关通信指令,编写相应接收数据、发送数据的PLC程序。

关键点解析:计算机程序设计

从以上介绍可知,如为被动通信,编程的工作量主要在计算机方,所用的编程语言可以是BASIC、C、C++、VB、VC、JAVA、DELPHI及C++BUILT等,所有编程语言都可以用。

1.通信口设定及打开、关闭

使用普通串口,就要选用哪个口进行通信,以及确定有关通信参数,如波特率等。这些参数应与PLC所设定的参数完全相同。而在PLC方,这些参数一般也可相应软器件予以设定。

当然,这组通信口管理的程序仅仅与计算机配置、计算机操作系统及语言选用有关,除通信参数要与PLC一致外,其它的与PLC没有关系。

很多经验计证明,计算机与PLC通信不正常往往与这些通信参数设定不当有关。此外,与使用存盘文件类似,在通信前,应打开通信口,而在通信完毕,最好把通信口关闭。

2.发送通信命令

这与用什么网络及PLC的通信协议有关。如欧姆龙PLC可通过RS-232C口,使用HOST LINK协议,其格式如图5-106所示。

978-7-111-56641-0-Chapter06-123.jpg

图5-106 C系列机发通信命令格式

三菱FX系列机编程口通信协议,其命令帧格式如图5-107所示。

这里STX为ASCII码2,不可视字符,表示通信帧的开始;ETX为ASCII码3,也是不可视字符,表示通信帧结束;命令码有读或写等,占一个字节;数据项中有地址,有要读、写数据字节数,如写命令,还要继以相应要写的具体数据;累加和是从命令码开始到结束字符(含结束字符)间,所有字符ASCII码值的累加,超过两位数时,取低两位,不足两位时高位补0。所有命令码及所有数据均用十六进制表示。

3.接收数据

这也与用什么网络及PLC的通信协议有关。如欧姆龙PLC通过RS-232C口,使用HOSTLINK协议、发“读”命令,其后接收到的数据格式如图5-108所示。

978-7-111-56641-0-Chapter06-124.jpg

图5-107 C系列机发通信命令格式

978-7-111-56641-0-Chapter06-125.jpg

图5-108 接收数据

如命令成功执行,则“应答码”为00,图中的数据栏即为所读数据;如未成功,则“应答码”为相应错误码,无数据返回。

如欧姆龙PLC用HostLink协议、发“写”命令,其后接收到的数据格式为图5-109所示。(www.xing528.com)

978-7-111-56641-0-Chapter06-126.jpg

图5-109 接收格式

如此命令成功执行,则“应答码”为00;未成功,则“应答码”为相应错误码,都无数据返回。

如欧姆龙PLC用HostLink协议、发通信测试命令(TS码),其接收格式与发的命令相同。

对三菱FX系列机编程口通信协议,如响应写命令,则只是1个字符。已成功执行为ASCII码06H,未能执行则为ASCII码15H。如响应读命令,未能执行也是ASCII码15H;成功执行,其响应帧如图5-110所示。

978-7-111-56641-0-Chapter06-127.jpg

图5-110 接收数据

4.处理数据

计算机从PLC读取数据总是要进行处理。它包括:

数据变换:如字到位的变换、ASCII码到数字的变换、二进制十进制变换等;

数据显示:可以用文字显示,也可用图形显示,有时还可用动画显示;

数据存储:可定时的以文件的形式存储,也可以数据库的形式存储;

数据打印:必要时,可把采集的数据打印出来,供分析及使用。

5.人机交互界面

如果要通过计算机,对PLC所控制系统进行远程操作,那还要在计算机上设计相应的人机交互界面。在这个界面上应有如按钮、指示灯、输入数据窗口、选择键等,以方便人机对话

以下将介绍几个与通信有关的计算机编程方法与程序实例。至于数据处理、人机交互界面的程序,因牵涉到较多的计算机编程问题,不是本书讨论的课题,只好略之。

提示1:上述四个要点是相互关联的,且有相应时序的配合。从打开通信口、发送通信命令到接收数据,要有等待时间。因为,计算机命令传送、PLC处理命令及PLC返回数据传送都需要相应时间。为此,不能执行发送命令后,立即就去接收数据。那样,肯定会出现通信失败。而对单工的通信口,如RS-485,还要考虑到接收与发送状态的转换时间。尽管这时间仅几毫秒,但也要等待

提示2:如不用通信协议,而要进行通信,除了计算机方的程序外,还必须弄清PLC的有关通信指令,编写相应接收数据、发送数据的PLC程序。而且,双方都要运行相应程序,才能实现通信。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈