上位机论文

上传人:daj****de 文档编号:158517097 上传时间:2022-10-05 格式:DOCX 页数:20 大小:37.06KB
收藏 版权申诉 举报 下载
上位机论文_第1页
第1页 / 共20页
上位机论文_第2页
第2页 / 共20页
上位机论文_第3页
第3页 / 共20页
资源描述:

《上位机论文》由会员分享,可在线阅读,更多相关《上位机论文(20页珍藏版)》请在装配图网上搜索。

1、Delphi的MSCOMM实现上位机与PLC间的串行通信(附源程 序)2010-12-07 14:25:15|分类:Delphi编程|字号大中小 订阅随着现代信息技术的发展以及计算机网络的广泛应用,计算机通信技术已经口趋成熟。作为 传统的计算机通信方式的串行通信,由于具有线路简单、应用灵活、可靠性高等一系列优点 长期以来获得了广泛的应用。计算机串行通信在数据财经、数据通信、故障检测、计算机远 程监控等方面有广泛的实用价值,特别在Windows卜的串I I通信可以充分利用Windows 下的软件资源优势,实现多任务条件下对外部的数据传输、信息收集和处理。在本系统中, 我们采用了性能/价格比较高的

2、计算机构成厂级的监控工作站。在PLC与上位计算机之间采 用RS-485和RS-232C标准通信接I I进行通信。在两级计算机控制系统中,最不稳定的环节就是上位机。为了保证系统的稳定性,避免因上 位机的故障导致系统控制失灵,所有采集到的信号都反馈到PLC当中。上位机需要通过串 行通信取得所需的数据信息,并通过串行通信将必要的控制信息和参数设置信息写入PLC 的数据存储区。因此,串行通信作为上位机和下位机联系的唯一方式,在整个系统中具有非 常重要的作用。1上位机与PLC间的串行通信计算机与计算机或计算机与外部设备之间的数据传输和交换的方式主要有串行通信和并行 通信两种方式,其中串行通信指的是数据逐

3、位传输的方式。由于串行通信方式具有使用线路 少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。1行串行通信串行通信方式又可分为两种:同步串行通信方式和异步串行通信方式。1同步串行通信方式:同步串行通信是以数据块(字符块)为信息单位传送,每帧信息可以 包含很多字符。同步通信要求通信双方以相同的速率进行,而且要准证确协调,通常通过共 享一个时钟或定时脉冲源保发送方和接收方准确同步。这种通信方式的效率较高,但是对时 钟同步要求非常严格,成本较高。2. 异步串行通信方式:异步串行通信以字符为信息单位传送。双方需要遵守异步通信协议, 以字符为数据单位,发送方传送字符的时间间隔不确定

4、。每个字符传输都以起始位开始,以 停止位结束。通信双方所指定的字符的数据位数,奇偶校验方法和停止位数必须相同。其传 输效率比同步通信方式低,但是成本较低。异步通信是在以起始位开始、停止位结束的一个字符内按约定的频率进行同步接收。各个字 符之间允许有间隙,而且两个字符之间的间隔是不固定的。在同步通信方式中,不仅同一字 符中的相邻两位间的时间间隔要相等,而且相邻字符间的时间间隔也要求相等,这也是同步 通信和异步通信方式的主要差别所在。因此,异步串行通信一般用在数据传送时间不能确知,发送数据不连续,数据量较少和数据 传输速率较低的场合:而同步串行通信则用在要求快速、连续传输人批量数据的场合。142串

5、行通信接口标准在串行通信时,要求通信双方都采用一个标准接I h使不同的设备可以方便地连接起来进行 通信。在设计通信接II时,一般都采用标准接II以提高其通用性。本系统中,上、下位机进 行通信首先面临的问题就是通信标准的选择问题。1、RS-232C 接 口标准RS-232C接II标准(全称EIA-RS-232C标准)是在1969年由美国电子工业联合会(EIA, Electronic Industrial Associate-Recommended Standard-232C)与 Bell 公司、调制解调器 厂家及计算机终端生产厂家共同开发的用于串行接II的通信协议。它最初是为远程通信连接 数据终

6、端设备 DTE(Data Terminal Equipment)和数据通信设备 DCE(Data Communication Equipment)而制定的46。虽然这个标准的制定没有考虑计算机系统的应用要求,但是广 泛的用于计算机与终端或外设之间的连接。RS-232C标准规定了在串行通信时,数据终端设备和数据通信设备之间的接II信号。其中 常用信号的名称、引脚号以及功能如表4-1所示。表4-1 RS-232C常用信号定义引脚号信号名称简称信号功能说明2发送数据TxDDTE向DCE发送串行数据3接收数据RxDDTE从DCE接收串行数据4请求发送RTS请求通信设备切换到发送方向5清除发送CTS响应

7、DTE请求,提示DCE开始发送6数据设备就绪DSRDCE通信设备就绪7信号地SG整个电路的公共信号地8数据载波检测DCDDCE收到载波20数据终端就绪DTRDTE终端设备就绪22振铃RI通信线路上有振铃RS-232C的电气特性:RS-232C采用的是负逻辑工作,即逻辑“1”用负电压(-375V)表示, 逻辑“0用正电压(+3+15V)表示。介于3V和+3V之间以及低于15V或高于+15V的电压没 有意义。实际工作时,应保证电平在(5T5)V之间。由于RS232C是用正负电压来表示逻 辑状态,与以高低电平表示逻辑状态的TTL不同。为了能够同计算机接II或终端的TTL器 件连接,必须进行电平和逻辑

8、关系的转换。目前使用较为广泛的是集成电路转换器件,如 MC1488和 MC1489。RS-232C的机械特性:虽然RS-232标准定义了25个信号,但进行异步通信时实际只用到 了9个信号:2个数据信号、6个控制信号和1个信号地线。因此RS-232的连接器主要有DB25 和DB9两种类型。现在微型计算机上均采用DB9型连接器作为主板上COM1和COM2两个 串行I I的连接器,其引脚及信号分配如图4-2所示。3、RS-485接 I I标准RS-485标准也是一种平衡传输方式的串行接I I标准,它和RS-422A兼容并且扩展了RS-422A的功能。RS-485的电气特性:逻辑“1”以两线间的电压差

9、为+ (26)V表示;逻辑“0”以两线间的电压 差为-(2-6)V表示。接II信号电平比RS-232C降低了,就不易损坏接I I电路的芯片,且该电 平与TTL电平兼容,可方便与TTL电路连接。数据最高传输速率为10MbpSo RS-485接I I 是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗干扰性好。RS-485接 I I的最人传输距离标准值为4000英尺,实际上可达3000米。RS-485接I I在总线上是允许连 接多达128个收发器,具有多站能力,用户可以利用它建立起设备网络。RS-485接II由于 具有良好的抗干扰性、传输距离长和多站能力等优点使其成为首选的串行接I I。

10、本系统中,上位机和下位机的通信运用了以上标准中的RS485和RS232C两种通信标准。 计算机具有标准RS232C接I I,而PLC具有标准RS485接I I,两者通过电缆和RS485/RS232C转换模块连接(如图所示43)。1.2通讯参数设置和通讯测试界面在供水自动化监控系统中,信息管理及监控软件作为处理、显示和存储数据的核心,主要负 贵对各个电动机的转速和各处管道压力的查询、监控以及报警的处理。运行信息管理及监控 软件的计算机与PLC之间的通讯主要是通过RS-232C串行接I I (PC机一般提供了 C0M1 和COM2两个串行II)进行通讯,实现系统的监测控制和信息管理功能。本系统中上

11、位机的信息管理及监控软件运行在Windows2000/NT操作系统下,串行通讯 程序运用Inprise公司推出的快速开发工具Delphi 6.0开发。PPI通信协议是西门子专为 S7-200系列PLC开发的一个通信协议,物理上采用RS485信号电平,PLC默认处于该方 式。使用PPI方式对PLC编程及调试监控,其硕件连接只需通过编程(PC/PPI)电缆即可 实现。软件编程采用中文环境、内部系统协议,设计人员只需通过软件设置一下参数,数据 如交换不需要考虑,用NETR和NETW两条语句即可进行数据的传递。1.2.1通讯参数设置为了进行串I I通信,实现系统的监测控制和信息管理功能,必须对通讯参数

12、加以设置。通信设置:串【I: COM1. COM2波特率:300、600、1200.校验方法:N、E、M、O、S数据位数停止位数:Setting:缓冲区设置接收缓冲区:字节发送缓冲区:字节数据传送方式文本形式和二进制形式流控制不握手(默认)、XON/XOFF方式、RTS/CTS 方式、XON/XOFF AND RTS/CTS 方式1.2.2通讯测试界面通信测试界面如图4-5所示。通讯设置Setting属性值commport属性值通讯状态串I I状态发送字节数接收字节数数据显示接收数据显示发送数据显示1.3 PLC通信程序设计1.3.1 PLC网络通信协议19本系统采用的PLC是德国SIEMEN

13、S公司生产的S7-200系列,主模块采用CPU226,扩展 模块采用数字屋扩展模块EM222和模拟屋扩展模块EM235oS7-200系列CPU具有强人的通信能力。主要支持以下几种协议:1. Pl(Point-to-Point)协议,即点到点接11协议。PPI是一个主/从协议,主站(其它CPU或SIMATIC编程器)给从站发送申请,从站进行响应。从站不初始化信息,只响应主站的申请 或查询。如果在用户程序中允许PPI主站模式,S7-200 CPU在RUN模式卞可以作为主站, 还可以利用网络读(NETR)和网络写(NETW)指令读写其他CPU,同时也能够作为从站响应 来自其它主站的申请。采用PPI协

14、议的网络中最多只能有32个主站。该协议主要是用来编 程、PPI组网等2. MPI(MultiPoint)协议,即多点接I I协议。MPI可以是主/主协议或主/从协议,协议如何操 作依赖于设备类型(设备是S7-200系列CPU时建立主/从连接)。MPI总在两个相互通信的 设备之间建立连接,其它主站不能干涉两个设备之间已建立的连接。由于S7-200的连接是 非公用的,并且需要CPU中的资源,每个S7-200 CPU只能支持4个连接,每个EM277模 块支持6个连接。在使用时,每个S7-200 CPU和EM277模块保留两个连接,分别用于连 接SIMATIC编程器(或计算机)以及操作面板。这些保留连

15、接不能被其它类型的主站使用。3. ROFIBUS协议。PROFIBUS协议设计用于分布式I/O设备(远程I/O)的高速通信。PROFIBUS网络通常有一个主站和几个I/O从站,主站配置成知道所连接的I/O从站的型号 和地址。主站初始化网络并核对网络上的从站设备和配置中的是否匹配。主站连续的把输出 数据写到从站并从它们读取输入数据。4. 户自定义协议(自由丨1协议)。自由II协议可以由用户定义通讯协议,通过用户程序控制 S7-200通信II的操作模式,将CPU与任意通讯协议公开的设备联网,如上位计算机、打印 机、变频器等。用户程序通过使用接收中断、发送中断、发送指令(XMT)和接收指令(RCV)

16、 来控制通信I I的操作。在自由I I模式卞,通信协议完全由用户程序控制。用户程序通过设置 SMB30(0l 1)允许自由II模式,而且只有在CPU处于RUN模式时才能允许。当CPU处于 STOP模式时,自由II通信停止,通信I I转换成正常的PPI协议操作。可以利用PC/PPI电缆和自由丨I通信功能把S7-200 CPU连接到许多和RS-232标准兼容的 设备。PC/PPI电缆支持波特率设置,利用PC/PPI电缆盒上的DIP开关可以配置所需的波 特率。波特率和开关位置的对应关系如表4-6所示:表4-6波特率和开关位置对应表波特率38400192009600480024001200600300

17、开关(1=)000001010011100101110111当数据从RS-232传送到RS-485I I时,PC/PPI电缆是发送模式。当数据从RS-485传送到 RS-232I I时,PC/PPI电缆是接收模式。当检测到RS-232的发送线有字符时,电缆立即从 接收模式转换到发送模式。当RS-232发送线处于闲置的时间超过电缆切换时间时,电缆又 切换到接收模式。这个时间与电缆上的DIP开关设定的波特率选择有关,如表4-7所示: 表4-7 PC/PPI电缆转换时间(发送模式到接收模式)波 特 率38400192009600480024001200600转换时间(ms)0.512471428在使

18、用自由I I的系统中使用PC/PPI电缆时,必须在S7-200 CPU的用户程序中包含转换时 间。S7-200 CPU在接收到RS-232设备的申请信息后,S7-200 CPU的发送信息响应必须 延迟超过或等于电缆的切换时间。RS-232设备在接收到RS-232设备的申请信息后,S7-200 CPU的下一次申请信息的发出必须延迟超过或等于电缆的切换时间。在以上两种情况中, 需要通过延迟使PC/PPI电缆有足够的时间从发送模式切换到接收模式,以便于数据从 RS-485I I 传送到 RS-2321 L1.3.2 PLC通信程序设计PLC作为控制系统中的下位机,不主动发送数据而是被动的响应上位机的

19、命令,根据上位 机的指令进行数据发送和接收。PLC中的通信程序由主程序、三个子程序和三个中断组成, 通信程序的流程如图4-4所示。1、主程序PLC在第一次打描时执行初始化子程序,对端I I及RCV指令进行初始化。初始化完成后, 使端II处于接收状态。RCV指令将接收到的数据保存到接收缓冲区,同时产生接收完成中 断。PLC每接收到一条指令后都会发送一条反馈信息,发送完成后产生发送完成中断。程 序中使用的标志位含义约定如卞:M0.0: BCC校验正确则置位;M0.1: Verify子程序的触发条件,被置位表示进行BCC校验。主程序LDSM0.1CALLInitLDB=VB117, VB150接收数

20、据AB=VB103, 16#05AMO.OCALLRecvLDB=VB117, VB150发送数据AB=VB103, 16#06AMO.OCALLSendLDM0.1校验CALLVerifyLDSM4.5RCVVB100.02、通信初始化子程序(Init)本系统采用自由II通信,通信协议为自定义的。用户可以通过设置PLC中相应的特殊寄存 器SMB30等的参数改变48511的波特率、数据格式(数据位数、停止位、校验),以适应不 同的通讯协议。PLC采用了特殊存储器(SM)标志位,提供人量的状态和控制功能,并且 能够使CPU和用户程序之间交换信息。SMB30和SMB130是自由端II控制寄存器。S

21、MB30控制自由端I I0的通信方式,SMB130 控制自由端111的通信方式。这两个寄存器是用来设置自由端II通信的操作方式,并提供自 由端II或者系统所支持的协议之间的选择。Pp用于校验选择,00和10表示不校验,01表示 奇校验,简表示偶校验。d用于指定每个字符的数据位,0表示8位字符,1表示7位字符。bbb用于选择自由II通信的波特率,其含义同表4-2。mm用于协议选择,00表示PPI/从站 模式,01表示自由II协议,10表示PPI/主站模式,笛保留不用。SMB87或SMB187用于控制接收信息的标志:SMB88或SMB188用于指定开始的信息字符;SMB88或SMB188用于指定结

22、束的信息字符。SMB94或SMB194用于指定端I I0或端I 11接收字符的最人个数(1255Byte)o该区要设为需要的最人缓冲区,否则可能会去失信息。 本系统采用端II0,自由II方式通信,波特率为9600Kbps,发送数据的最人长度为16。因 此SMB30的值为09H (十六进制),SMB87的值为ECH (十六进制),SMB94的值为16。当PLC的工作模式开关处于“RUN” (SM0.7=1)时初始化通信端I I,初始化完毕打开接收 数据中断。PLC的通信初始化程序如下:通信初始化子程序LDSMO.OMOVB16#09, SMB30MOVB16#EC, SMB87MOVB103,

23、SMB88MOVB71, SMB89MOVW+1000, SMW92MOVB16, SMB94RSM87.2, 1LDSMO.OATCHINT_1,23ATCHINT_2, 9ENILDSMO.OMOVD& VB102,VD120MOVB2, VB150MOVB0, VB147MOVB0, VB1482、发送子程序(Send)在PLC接收到上位机的读取数据命令后,调用发送程序将指定的数据通过端I 10发送给上位 机。在PLC的存储区中,从VB126到VB141为约定的数据存储区,VB125为发送的数据个 数。发送完数据后,打开发送完成中断。发送子程序LDSMO.ORSM87.7, 1RM0.0

24、, 1RCVVB100,0MOVB103, VB126MOVB16#01, VB127MOVB26, VB141MOVB16, VB125LDSM0.0FORVW121.+1.+12XORB*VD121, VB148INCDVD181NEXTLDSM0.0HTAVB148, VB140, 1XMTVB125, 03、接收子程序(Recv)LDSMO.ORSM87.7, 1RM0.0, 1RCVVB100.0MOVB21, VB125MOVB103, VB126MOVB16#02, VB127MOVB16, VB141LDSM4.5XMTVB125, 04、接收完成中断(INT_O)接收完成中断

25、用来处理接收完成中断爭件,它将接收缓冲区的数据还原并保存,同时将M0.1 置位。/接收完成中断LDSMO.OATHVB102, VB123, 1ATHVB115, VB140, 1sM0.1, 1MOVB0, VB147MOVD&VB102, VD120ATHVB104, VB129, 15. 发送完成中断(INT_1)发送完成中断用于处理发送完成中断爭件,主要是将M0.0复位、BCC码寄存器清零、将接 收缓冲区中存放结束字符的字节清零等。/发送完成中断LDSMO.ORM0.0, 1SSM87.7, 1MOVB0, VB147MOVB0, VB148MOVD&VB102, VD120MOVB0

26、, VB1006、BCC 校验程序(Verify)将接收到的数据进行异或和校验。LDSMO.ORM0.1, 1LDSMO.OFORVW143, +1, +12LDSMO.OXORB*VD121, VB147LDSMO.OINCDVD121NEXTLDB=VB147, VB119AB=VB116, 71SM0.0, 1LDB=VB116, 71ABVB147, VB119MOVB16, VB119MOVB16#03, VB125RSM87.7, 1RCVVB100.0XMTVB125, 0LDBVB116, 71MOVB16, VB125MOVB16#04, VB127RSM87.7, 1RCV

27、VB100.0XMTVB125, 01.4上位机的通信模块设计该恒压供水监控系统采用一台工控机对泵房的水泵机组进行监控,监控程序程序的功能包括 水位、水压、电机速度信号的采集;监测显示水泵机组的工作状态和运行情况;检测故障信 号,进行报警及语言提示;相关数据的存储、动态实时报表、历史数据的随时查询、打印; 根据现场工作情况发出控制指令给PLC实行水泵机组的切换;根据生产实际情况修改工作 参数等等。系统软件采用Delphi高级语言编程,能够及时准确地对供水自动化生产实行监 控。串行通信作为上位机和卞位机联系的桥梁,因此上位机通信模块设计在整个监控程序占 有非常重要的地位。用Delphi实现串I

28、I通信,最常用的办法是使用控件(如MSCOMM等),利用MSCOMM 控件开发串II通信程序,只需设置相关的属性,使用相关的方法与相应的爭件,实现串II通 信较为简单方便。本系统中上位机的信息管理及监控软件运行在Windows2000/NT操作系 统下,并利用MSCOMM控件开发设计了上位机与PLC的串行通信程序,对供水系统的运 行状态进行监控。MSComm32控件的主要属性、方法及爭件如卞冋:CommPort属性:用于设置或返回通讯端I I号。计算机的串行通讯端11 一般有COM1和 COM2两个,必须在打开端II以前设置该属性。如果设置的端II不存在,运行时会产生设备 无效错误。CommE

29、vent属性:返回通信爭件或错误。Setting属性:设置并返回初始化参数,即波特率、奇偶校验、传输数据位和停止位。InputMode属性:设置或返回接收到的数据的类型。缺省为ComlnputModeText表示以文 本(ASCII码)形式接收数据,而ComlnputModeBinary表示以一.进制形式接收数据。Input属性:返回并删除接收缓冲区中的数据,在设计时Output属性:向输出缓冲区中写入 数据,在设计时无效,运行时为只读。Output属性:向输出缓冲区中写入数据,在设计时无效,运行时为只读。PortOpen属性:设置并返回通信端II开或关的状态,运行时有效。Commlnit方法

30、:初始化并打开指定的串I I。RecvData方法:接收数据。SendData方法:发送数据。ComOpenOrClose方法:打开或关闭串I I。OnComm爭件:当CommEvent属性的值发生变化时,就产生此事件,标志发生了一个通 信事件或错误。通信模块作为上位机和PLC交换数据的平台,具有十分重要的作用。通信模块的设计主要 包括几个方面:1、串丨I初始化。串I I初始化包括设置通信协议、输入输出缓冲区大小等内容。2、数据的接收和发送以及校验。上位机首先发出命令给PLC, PLC从串II输出缓冲区内接 收数据,然后PLC自动发送一个响应帧,上位机检测到输入缓冲区的数据开始接收数据。 命令

31、帧的格式为站号、读/写操作类型、发送数据、校验码、结束字符。响应帧的格式为站 号、接收数据、校验码、结束字符。为了保证通信数据的正确性,上位机对接收到的数据需 要进行校验,校验是通过一个BCC校验函数来进行。BCC校验码就是将要传送的字符串的 ASCII码以字节为单位作异或运算,并将异或运算结果作为指令的一部分传送出去。3、数据转换。由于PLC在发送数据时,有些模拟量数据,如管网压力和电机转速,采用的 是二进制的形式,在计算机接受到数据之后必须进行转换,方能正确显示。4、错误处理和报警。对于传输过程中可能出现的各种错误,需要采取相应的处理措施,不 可恢复的严重错误必须报警。通信模块中的部分事件

32、源代码如下:串口初始化procedure TfrmCommTmlnit;beginif MSComml .PortOpen then MSComml .PortOpen:=false;MSComm1.Settings:=cboSetting.Text;if chkTextOrBin.Checked thenMSComml.lnputMode:=ComlnputModeText/ 文本形式else MSComml JnputMode:=ComlnputModeBinary;/二进制形式MSComml.lnputLen:=O;/读接收缓冲区所有数据MSComm 1.lnBufferSize:=Co

33、mmOption.inbuffer;/ 设置缓冲区人小MSComml.OutBufferSize:=CommOption.outbuffer;MSComml.RThreshold:=1;/每接收到一个字符都产生OnComm事件if cboCommPort.Text=,COM 1 thenMSComml .CommPort:=1elseMSComml .CommPort:=2;MSComm1.Handshaking:=CommOption.handshake;/ 设置握手协议end;procedure TfrmCommTest.chkSendHexClick(Sender: TObject);v

34、ar bChk:boolean;str:string;begin if chkSendHex.Checked then 十六进制形式 beginbChk:=true;endelse字符串形式beginbChk:=false;end;str:二 ConvertHexChar(memSend.Text,bChk); memSe nd. Clear;memSe nd.Text:=str;end;procedure TfrmCommTest.chkRecvHexClick(Sender: TObject);var bChk:boolean;str:stri ng;beginif chkRecvHex.

35、Checked then 十六进制形式beginbChk:=true;endelse 字符串形式beginbChk:=false;end;str:=copy(memRecv.Text,1,length(memRecv.Text);/ 需转换的字符str:=ConvertHexChar(str,bChk);memRecv.Clear;memRecv.Text:=str;end;发送数据procedure TfrmCommTest.SendData;var str:stri ng;beginstr:=“;if not MSComml .PortOpen then/串丨 I 未打开beginMess

36、ageDIgC请先打开串 I 丨! .mtlnformationJmbOkl.O);exit;endelse 串I已打开beginif memSend.Text二” thenMessageDIg(请输入需要发送的数据! ,mtlnformation,mbOk,0);str:=memSe nd.Text;sumSend:=sumSe nd+length(str);MSComml .Output:=str;edit2.Text:=inttostr(sumSend);end;end;接收数据procedure T f rmCommTest. RecvData;var s:string;vTmp:Va

37、ria nt;ovTmp:oleVariant;i,iRecv:integer;bTmp:Byte;beginif MSComml JnputMode=ComlnputModeText then 文本形式beginiRecv:=MSComm1.InBufferCount;s:=MSComm1.Input;if chkAutoClear.Checked thenmemRecv.Text:=selse memRecv.Text:=memRecv.Text+s;sumRecv:=sumRecv+iRecv;edit3.Text:=inttostr(sumRecv);endelse 二进制形式begi

38、niRecv:=MSComm1.InBufferCount;ovT mp:=MSComm1 .Input;vTmp:=VarArrayCreate(0,127,varByte);vTmp:=ovTmp;for i:=0 to iRecv-1 do 将接收到数据转换为字符串 beginbTmp:=vTmpi;s:=s+Format(,%2x,bTmp);end;if Length(s)=50 thenbeginfor i:=1 to 50 dobeginif si=* Thensi=0;end;memRecv.Text:=memRecv.Text+s;end;sumRecv:=sumRecv+i

39、Recv;edit3.Text:=inttostr(sumRecv);end;end;procedure TfrmCommTest.cmdSendClick(Sender: TObject);beginSendData;end;procedure TfrmCommTest.chkAutoSendClick(Sender: TObject);beginif chkAutoSend.Checked then /选中自动发送beginif MSComml .PortOpen thenbegintimerln terval:=strtoint(lbTimeGap.Text);timerl .Enabl

40、ed:=true;IbTimeGap. Enabled:二false;IbTimeGap.Color:二clBtnFace;cmdSe nd.En abled:=false;endelsebeginMessageDIgC请先打开串丨 I! .mtlnformationJmbOkj.O);chkAutoSend.Checked:=false;cmdSend.E nabled:=true;end;endelsebegintimerl. Enabled:=false;lbTimeGap.Enabled:=true;lbTimeGap.Color:=clWindow;end;end;1.5小结由于串行

41、通信是两级计算机控制系统中联系上位机和卞位机的桥梁。本章通过研究上位机和 PLC之间的串行通信,对其中上位机和PLC通信模块的设计进行了详细分析。1通过对上位机和PLC之间的串行通信的方式以及接I I标准的研究,确定了本控制系统中 的通信子系统所使用的通信标准和接I I。2.通信协议是保证串行通信的稳定性和可靠性的重要坏节。本章对上位机和SIMATICS7-200系列PLC之间采用自定义通信协议的串行通信进行了研究,并对自定义通信协议中 的重要指令的格式定义进行了详细的设计和分析。此外,还对通信程序的发送、接收、应答、 BCC校验和数据维护子模块的设计进行了详细的分析。经过试验测试和实际运行,通信模块能够准确、快速的完成通信任务,达到了预期的目标

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!