- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
- FESTO气动高级进阶内部培训之CMMP-M3-模拟量控制.pdf
- FESTO气动高级进阶内部培训之CMMP-M3-顺序控制功能.pdf
- FESTO气动高级进阶内部培训之CMMT 111报文定位控制(位字操作).pdf
- FESTO气动高级进阶内部培训之CMMT-AS 伺服的脉冲控制--脉冲手轮与三菱 PLC - V1.0.pdf
- FESTO气动高级进阶内部培训之CMMT-AS-…-S1伺服驱动器FAS软件测试V2.2.pdf
- FESTO气动高级进阶内部培训之CMMT-AS断电后重新上使能掉使能问题解决.pdf
- FESTO气动高级进阶内部培训之CMMT-ST-...-S0步进驱动器硬件接线介绍V1.0.pdf
- FESTO气动高级进阶内部培训之CMMT高级功能-Cam controller.pdf
- FESTO气动高级进阶内部培训之CMMT高级功能-Synchronisation 脉冲同步功能.pdf
- FESTO气动高级进阶内部培训之CMMT高级功能-Touch probe.pdf
文档评论(0)