网站大量收购闲置独家精品文档,联系QQ:2885784924

基于VB60实现西门子PLC与PC间的TCP通讯.pdf

基于VB60实现西门子PLC与PC间的TCP通讯.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

基于VB6.0实现西门子PLC与PC间的TCP通讯

摘要:主要介绍在MicrosoftVisualBasic6.0开发环境下,通过开发环境下,通过Winsock1控件,

用以太网的方式实现PC机与西门子1200/1500PLC系统之间数据通信的方法,并

把该通信方法用在环卫压缩设备控制系统中。

关键词:PLC,VB,:PLC,VB,通信

Abstact:ThispaperintroducesdatacommunicationmethodbetweenPC

applications,whichtakeVisualBasic6.0astheirprogramminglanguageandSIMATIC

S7-1200orS7-1500PLC.

Keywords:PLC,VB,communication.

众所周知,工业自动化监控系统一般是采用组态软件或高级语言开发,而采

用组态软件开发是需要买软件授权才能交付,虽然开发速度快,但成本较高而且

后期功能扩展不够灵活,也无法开发更加复杂的业务,如实现信息化和工业化的

有机融合,因此如何帮助开发者降低开发成本、提高工作效率,快速开发出对行

业有显著帮助和价值的自动化监控系统是本文所涉及的话题。

该控制系统由西门子S7-1200PLC、PC机等构成,其中PLC由以下组成:

1214CPU模块(带以太网口),数字量输入/输出模块,模拟量输入模块。

1监控系统的通信参数

系统运行时需要在PC与PLC之间通信的参数主要有如下:PC→PLC:压缩设备电

机启动和停止指令、压缩指令;PLC→PC:压缩设备液压系统压力、温度和液位值,

接近开关信号以及拉线位移传感器值。

2监控系统软件程序设计

(1)VB通信程序

DimStart,Stop,CompressAsByte

DimPalue,Temperature,Level,

DisplacementAsSingle

DimLimit(5)AsByte

_______________________________

PrivateSubconnect_Click()

Winsock1.Close关闭连接‘

Winsock1.RemoteHost=192.168.2.5与‘PLC的IP地址

Winsock1.RemotePort=2000与‘PLC端口号

Winsock1.connect关建立连接‘

EndSub

_______________________________

PrivateSubForm_Load()

Winsock1.Close关闭连接‘

EndSub

PrivateSubClose_Click()

Winsock1.Close关闭连接‘

EndSub

_______________________________

PrivateSubWinsock1_ConnectionRequest(ByValrequestIDAsLong)

IfWinsock1.statesckClosedThen

Winsock1.Close

Winsock1.AcceptrequestID接受具有requestID参数的连接。

EndIf

EndSub

_______________________________

PrivateSubWinsock1_DataArrival(ByValbytesTotalAsLong)

Dimrec()AsByte

Winsock1.GetDatarec(),vbByte

DimiAsInteger限位‘’

Fori=0To5

Limit(i)=rec(i)

Nexti

Palue=Val(HHex$(rec(6))Hex$(rec(7)))’压力值数据处理

Temperature=Val(HHex$(rec(8))Hex$(rec(9)))‘温度值’

Level=Val(HHex$(rec(10))Hex$(rec(11)))’液位值数据处理

文档评论(0)

kxg3030 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档