- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于PLC和组态王软件转辙机测试台微机监控系统
1 引言
工业自动化通用组态软件-组态王软件系统与最终工程人员使用的具体的PLC或现场部件无关。对于不同的硬件设施,只需为组态王配置相应的通讯驱动程序即可。组态王支持的硬件设备包括:可编程控制器(PLC)、智能模块、板卡、智能仪表、变频器等等。
PLC以卓越的可靠性和方便的可编程性广泛应用于工业控制领域[1]。实现PC机和PLC通讯的目的是为了向用户提供诸如工艺流程图显示、动态数据画面显示、报表显示、窗口技术等多种功能,为PLC提供良好的人机界面。
本工程采用西门子公司的S7-200系列的可编程控制器[2],及上位工控机组成控制系统。上位机监控软件采用北京亚控科技发展有限公司的6.5“组态王”组态软件,实现对转辙机测试台的过程监控及数据处理。
2 系统简介
转辙机是铁路上常见的用于控制火车前进方向的设备。转辙机活动杆的伸出或者缩回决定火车不同的前进方向。
转辙机实时监控系统以组态王为主要运行画面,首先在组态王界面上对被监控系统的参数进行设置,然后起动被测的转辙机测试台,在组态王的界面上可以动态显示下位机的运行状态以及完成对多种电动直流转辙机各项电器性能指标的测试,如工作电流、工作电压、摩擦电流(故障电流)、转换力及转换时间(动作时间)等。由于组态王只提供这类西门子可编程控制器PLC的驱动程序,没有提供其通讯协议,因此,在功能并不很强大的组态王内部直接开发可编程控制器PLC的通讯协议是有较大难度的。一般采用的方法是:利用Visual Basic提供的串行通讯功能[3]、[4],实现与可编程控制器PLC之间的通讯,再利用 VB的DDE功能完成组态王与Visual Basic之间的动态数据交换。这样就把从可编程控制器PLC采集到的外部信号通过Visual Basic 间接动态的显示在组态王界面上。其系统结构如图1所示。
?
3 VB与可编程控制器PLC之间串行通讯的实现
带异步通讯适配器的PC机与PLC只有满足如下条件,才能互联通信[5]:带有异步通讯接口的PLC才能与带异步通讯适配器的PC机互联;双方采用的总线标准一致,否则要通过“总线标准变换单元”变换之后才能互联;双方的初始化、波特率、数据位数、停止位数、奇偶效验都相同。只有在对PLC的通讯协议分析清楚的情况下,严格的按照协议的规定及帧格式来编写PC机的通讯程序。PLC中配有通讯机制,一般不需要用户编程。
PC机与西门子系列PLC不能直接连接,要通过一条PC/PPI电缆进行RS232/RS485的变换,图2表示了它们之间的连接关系。
?
3.1可编程控制器PLC的通讯协议
设定可编程控制器PLC的通讯协议是通过对其自由端口的初始化来完成的。在自由端口模式下,通讯协议完全由梯形图控制。只有CPU处于RUN模式时,才能进行自由端口通讯。SMB30(用于端口0)和SMB31(用于端口1)用于选择波特率、奇偶校验和数据位数。自由端口的控制字节描述如下:
BBB 自由口波特率
000= 38400波特 100= 2400波特
001= 19200波特 101= 1200波特
010= 9600波特 110= 600波特
011= 4800波特 111= 300波特
PP 奇偶选择 MM 协议选择
00= 无奇偶校验 00= 点到点协议(PPI/从站模式)
01= 偶校验 01= 自由口协议
10= 无奇偶校验 10= PPI/主站模式
D 每个字符的数据位
0= 每个字符8位 1= 每个字符7位
这里选择的是SMB30(用于端口0),设置的字节为9(0 0001 001H),即:该协议为自由口协议,自由口波特率为9600,无奇偶校验,每个字符的数据位为8位。
发送 发送指令(XMT)激活发送数据缓冲区(TBL)中的数据。数据缓冲区的第一个数据指明了要发送的字节数。PORT指定了用于发送的端口。
XMT指令发送一个或多个字符,最多有255个字节的缓冲区。如果有一个中断程序连接到发送结束事件上,在发完缓冲区中的最后一个字符时,则会产生一个中断 (对端口0为中断事件9,对端口1为中断事件26)。XMT指令可以监视发送完成状态位SM4.5或SM4.6的变化,而不是用中断进行发送。
接收 接收指令(RCV)激活初始化或结束接收信息的服务。通过指定端口(PORT)接收的信息存储于数据缓冲区(TBL)。数据缓冲区的第一个数据指明了接收的字节数。RCV指令接收一个或多个字符,最多有255个字符,这些字符存储在缓冲区中。如果有一个中断程序连接到接收完成事件上,在接收到缓冲区中的最后一个字符时,则会产生一个中断(对端口0为中断事件23,对端口1为中断事件24)。可以监视SMB86或SMB186状态的变化,而不是用中断
文档评论(0)