理论教育 计算机程序设计的关键要点

计算机程序设计的关键要点

时间:2023-07-01 理论教育 版权反馈
【摘要】:已成功执行为ASCII码06H,未能执行则为ASCII码15H。图6-111 接收数据4.处理数据计算机从PLC读取数据总是要进行处理。以下将介绍几个与通信有关的计算机编程方法与程序实例。

计算机程序设计的关键要点

从上介绍可知,如为被动通信,编程的工作量主要在计算机方。计算机方可用的操作系统有DOS、Windows等。从发展趋势看,已越来越多地使用Windows,特别是Windows 2000、XP及Windows 7。

所用的编程语言可以是BASIC、C、C++、VB、VC、JAVA、DELPHI及C++BUILT等。所有编程语言都可以用。

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

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

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

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

2.发送通信命令

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

978-7-111-39745-8-Chapter07-152.jpg

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

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

978-7-111-39745-8-Chapter07-153.jpg

图6-108 C系列机发通信命令格式

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

3.接收数据

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

978-7-111-39745-8-Chapter07-154.jpg

图6-109 接收数据

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

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

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

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

978-7-111-39745-8-Chapter07-155.jpg

图6-110 接收格式

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

978-7-111-39745-8-Chapter07-156.jpg

图6-111 接收数据

4.处理数据

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

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

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

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

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

5.人机交互界面

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

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

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

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

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

我要反馈