使用JAVA 实现计算机与控制器之间PLC变量的通讯.docxVIP

使用JAVA 实现计算机与控制器之间PLC变量的通讯.docx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

BeckhoffChina技术文档

文档内容可能随时更新

如有改动,恕不事先通知

作者:

杨靖华

中国上海市静安区汶水路299弄9-10号

市北智汇园4号楼(200072)

TEL:021FAX:021职务:

西南区

技术工程师

日期:

2019-08-25

邮箱:

j.yang@

电话:

0871使用JAVA实现计算机与控制器之间PLC变量的通讯

摘要:在eclipse环境下,调用beckhoff的java库,完成计算机与控制器之间通过变量名连接的ADS通讯简要说明。

关键字:ADS通讯,Java,eclipse,TwinCAT2

附件:

序号

文件名

备注

1

JAVAADS通讯源代码

Java源代码

2

TcJavaToAds

Javaads通讯库文件

3

系统dll

Java通讯时需调用的系统dll

历史版本:

2014-07-20

曹志强

使用JAVA实现与TWINCATPLCcontrol变量的通讯.docx

免责声明:

我们已对本文档描述的内容做测试。但是差错在所难免,无法保证绝对正确并完全满足您的使用需求。本文档的内容可能随时更新,也欢迎您提出改进建议。

参考信息:

目录

TOC\o1-3\h\z\u1. 在Eclipse环境下配置ADS通讯的步骤 3

2. 通过JAVA程序读取PLC程序中的1个整形变量 6

3. 通过JAVA程序输入PLC程序中的1个整形变量 12

在Eclipse环境下配置ADS通讯的步骤

打开目录文件夹,根据自己的开发平台选择x64或者x86文件夹打开,找到将这2个文件放到windows系统所在的目录

默认情况下为:C:\Windows\System32

adstojava.dll文件除了在文档中,还可以从C:\TwinCAT\ADSApi\AdsToJava\x64(x86)中找到(建议从C:\TwinCAT\ADSApi\AdsToJava\x64(x86)拷贝过去),adstojava.lib需要从目录文件夹考入C:\Windows\System32。

完成后打开Ecplise,选择新建JAVAproject,并输入名称

右键工程名,在BULIDPATH中找到CONFIGUREBUILDPATH,点击打开

点击选择ADDEXTERNALJARS

打开C:\TwinCAT\AdsApi\AdsToJava路径下tcjavatoads.jar

点击确定。

选中项目右键选择新建一个CLASS,输入包名和类名

通过JAVA程序读取PLC程序中的1个整形变量

打开TWINCATPLCCONTROL,在PLCCONTROL中新建一个整形变量”PLCVar”

并将PLC程序下载到远程控制器中,运行程序,如下图所示。

关于如何添加远程控制器并运行请参考倍福的其它文档。如果Eclipse和TwinCAT不是安装在同一台电脑,安装Eclipse的电脑也需要安装TwinCAT软件(根据自己的平台选择32位还是64位TwinCAT)并且把远程控制器的ADS路由添加进去。

打开eclipse实例程序,找到主函数

publicstaticvoidmain(String[]args),主函数调用了一个读PLC变量的函数readInt()和一个写PLC变量的函数writeInt()。

如图所示:

定义AMSNETID:

AMSNETID是TwinCAT中进行ADS协议传输中的一个地址,每一台装有TwinCAT的设备都有一个唯一的AMSNETID用来标记和识别设备。

本机AMSNETID可以在TwinCATsystemproperties中查看到,如下图的2所示。

远程控制器的的AMSNETID可以在SYSTENMANAGER中查看到,如上图的4所示。注意,本地的AMSNETID与控制器的AMSNETID不能相同,否则会冲突通信不上。

打开readInt()函数,定义AMSNETID

AmsAddraddr=newAmsAddr();

nErr=AdsCallDllFunction.getLocalAddress(addr);

addr.setNetIdString(50.1.1); //这里填写控制器的AMS地址

addr.setPort(801); //这里填写控制器的端口号

在主函数中打开端口

在这里选择端口号801是因为在TwinCAT系统中801代表第一个PLC的程序端口,也就是在TwinCAT中显示的Run-Time1,TwinCAT中不同的子系统有不同的端口号。

需要注意的是需要加入addr.setNetIdStri

文档评论(0)

卡卡西 + 关注
实名认证
文档贡献者

教师资格证持证人

卡卡西

领域认证该用户于2023年12月02日上传了教师资格证

1亿VIP精品文档

相关文档