- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1 引言 可编程序控制器(programmable controller)简称plc是以微处理器为基础的新型控制装置,是将计算机技术应于工业控制领域的崭新产品。它集逻辑运算、顺序控制、定时、计数、算术运算功能为一体。另外还可以与其他计算机进行通信联网,这种通信不但包括不同的plc之间的数据交换,而且还包括plc与计算机之间的通信。本文介绍笔者使用vb6.0实现plc与上位机之间的通信,使运行人员通过油机配电屏的显示可以监测并控制远端设备的工作。 copyright plc资料网
2 系统构成 本系统采用plc采集模拟信号、数据处理,通过串行通信口上传到计算机,计算机对传上来的数据进行分析、分类记入数据库,实时显示在配电屏上并提供数据查询。plc为s7-224,串行通信接口的信号线采用rs-485,此信号线为半双工,即不能同时接收和发送。将plc置于run状态,就可以将plc中存于发送缓冲区中的数据及信号送入上位机的串口,上位机通过串口通信程序接收这些数据后显示并通过数据库控件adodc的绑定,把数据记录到数据库,从而完成数据的采样。本工程所需采集的数据包括日常量、故障量和设备动作量。对于日常量需每时每刻的数据显示在配电屏的主控制平面上,以便工作人员观察实时数据,但是不需要把日常量都记入数据库,只需隔一段时间记录一次(在这里每隔半小时记录一次),对于故障量和设备动作量要求只要设备发生故障或动作就要记录到数据库,以便工作人员查询。 本文来自PLC资料网
3 s7-200的通信方式与通信参数的设置 s7-200的通信功能很强大,有多种通信方式可供用户选择,包括单主站方式、多主站方式、使用调制解调器的远程通信方式等。本工程选择 step7-micro/win32支持的通信硬件pc/ppi电缆,它所支持的波特率有9.6kbps和19.2kbps,支持的协议为ppi协议,即点对点接口协议,基于开放系统互联模型osi。ppi是主/从协议,网络上的s7-200cpu均为从站,其他cpu、simatic编程器或td200 为主站。s7-200 cpu的通信端口采用rs-485信号标准的连接口,pc/ppi电缆把s7-200 计算机连接起来,通过使用接收中断、发送中断和字符中断等指令,自由端口通信可以控制s7-200cpu通信口的操作模式。本工程使用的是自由端口模式,允许在cpu处于run模式时通信口0使用自由端口模式,通过设定smb30的值,我们可以选择波特率、奇偶校验、每个字符的数据位和协议。cpu处于stop模式时,停止自由端口通信,通信口强制转换成ppi协议模式,此时,就可以向cpu中输入plc程序,实现编程软件对plc的编程和控制功能。在这里的通讯过程采用主从方式,即计算机为主机,plc为从机,只有主机计算机发送请求报文后,从机plc才向pc返回发送缓冲区中的数据。 内容来自
4 自由端口模式下plc的通信 由于本工程使用的是pc/ppi电缆,所以要在plc的程序中考虑电缆的切换时间。plc接收到请求报文到它返回发送缓冲区的数据的延迟时间必须不小于电缆的切换时间。波特率为9600bps时,电缆的切换时间是2ms。在本工程的程序中是用定时中断实现切换延时的。定时中断子程序:network title ’定时中断程序int_2ld sm0.0dtch 10xmt vb200, 0 当程序运行到“启动定时中断”(即atch int_2, 10)的语句时,就会跳到如上所示的中断子程序中,sm0.0是特殊存储器,该位始终为1,即只要plc处于run状态,这一开关即是接通的。xmt vb200, 0语句是用来发送数据到串口的,此时发送的是存储在以vb200为首地址的连续的存储空间中的数据,是通过端口0发送的。 另外为了提高通信的可靠性,我们需要使用到异或校验,即在通信的双方都将每一帧的每一个字符作异或校验,将两者进行对比,如果不相同则可以判定通信有误。network1 network title ’求异或校验码的子程序fcsld sm0.0movb 0, #xorc bti #numb, #numi for #temp1, +1, #numi
本文来自PLC资料网
movb 0, #xorc ’用来把异或校验码 清零, 用bti#numb, #numi将字节数转换为整数network2ld sm0.0xorb *#pnt, #xorc incd #pnt network3 next for到next语句指明了一个循环,从这一帧的第一个字符开始(不包括起始字符)到该帧中最后一个字符作异或运算。通过调用这个子程序可以计算所指定的数据存储空间内的字符的异或校验码,如果在上位机中
文档评论(0)