WinCC V 7.5SP1通过OPC UA读取两维数组

有一个项目,需要用WinCC通过OPC UA读取西门子SINUMERIK数控系统的NC变量,数控系统端全部设置完成,因为数控系统的NC变量有通道和轴之分,所以大部分NC变量都是以两维数组的形式存在;
    首先通过SinumerikOpcUaClient_ver2.2客户端可以读取所有想要的NC变量,数组类型也OK,例如读取通道1R参数2,即为"/Channel/Parmeter/R[u1,2]",或者"/Channel/Parmeter/R[2]"皆可,"/Channel/Parmeter/R[3,5]"则读取元素3-5的所有内容,满足项目需求;
    回到WinCC,首先软件版本7.5.1.2,正版激活,通过OPU UA连接至SINUMERIK数控系统(服务器端)正常(无加密),能够看见所有NC变量,勾选后通过IO域显示,所有单一地址的变量全部读取显示正常,所有的数组型变量都只能显示第一个元素,参考文档《如何使用 WinCC OPC UA 客户端访问数组元素,编号:109746486》,复制变量后通过地址后面的"…"设置数组索引,例如读取通道1R参数2,地址变为"s=/Channel/Parmeter/R,"11;-1",[2]",但是在IO域中显示该变量却为“!”无法显示,修改地址为"s=/Channel/Parmeter/R,"11;-1",[1,2]"或"s=/Channel/Parmeter/R,"11;-1",[u1,2]"都是一样的“!”,该变量在服务器端的地址为"s=/Channel/Parmeter/R,"11;-1",0",使用该变量在IO域中显示第一个元素读取正常;
    《如何使用 WinCC OPC UA 客户端访问数组元素,编号:109746486》该文档内明确有这句话"For example, SINUMERIK? tags (R variables, PLC variables ) cannot be recognized as arrays. This is a limitation of the SINUMERIK? server. Only the array itself (without its elements) can be displayed in the Configuration Studio. Thus, the WinCC user has to create array elements with the Configuration Studio and to modify the tag address manually as described above, in order to specify the NodeId expected by the server."也就是说西门子SINUMERIK数控系统数组的元素确实不会在"Configuration Studio"内显示,需要读取数组就需要手动修改地址的手法,既然有这句话,默认西门子应该是做过相关测试的,为什么我这边还是无法读取?
    补充几个条件:
    1、尝试用WinCC7.4.1.14做实验,无效;
    2、尝试用其它安装WinCC7.5.1.2做实验,无效;
    3、文档最末部分,关闭"Enable /Disable OPC UA array writing without Index Range"已关闭;
    4、《如何使用 WinCC OPC UA 客户端访问数组元素,编号:109746486》https://support.industry.siemens.com/cs/document/109746486/如何使用-wincc-opc-ua-客户端访问数组元素-?dti=0&lc=zh-CN
    5、图1为使用SinumerikOpcUaClient_ver2.2客户端读取所有想要的NC变量;
    6、图2为WinCC内的地址(复制,尚未修改);
    7、图3为修改的地址的方法;

    PS:据实验"s=/Channel/Parmeter/R,"11;-1",0"里面的"11"是代表数据类型,"-1”代表什么意思?
    试了很长时间无解,请各位前辈指点,谢谢!同时接下来打算连接S7-1200,通过OPC UA读取数组(一维)试试。

问题补充:
改好的地址应为"s=/Channel/Parmeter/R","11;-1",[2]或"s=/Channel/Parmeter/R","11;-1",[2,5]或"s=/Channel/Parmeter/R","11;-1",0[u1,2],上文写错了,通过图三修改或手动输入地址都可以,最后一个"0"应为单一元素的地址

图片说明:

WinCC V 7.5SP1通过OPC UA读取两维数组    WinCC V 7.5SP1通过OPC UA读取两维数组    WinCC V 7.5SP1通过OPC UA读取两维数组    WinCC V 7.5SP1通过OPC UA读取两维数组   

最佳答案

没有用过SINUMERIK,但是我看了你改完之后的地址,格式已经发生了变化。正常的地址是
"s=/Channel/Parmeter/R","11;-1",0    (两个逗号将其分成三段,前两段为带“”的字符串)
而你改完之后的却是:
"s=/Channel/Parmeter/R,"11;-1",[2]"
"s=/Channel/Parmeter/R,"11;-1",[u1,2]"
结果根本就不一致。
STEP7V15系统手册上说,OPC UA通常采用数组访问方式进行读写操作,即带有下标和长度。一个单变量实际上就是一个特殊的数组(下标为0,长度为1)。所以我认为地址最后面那个0就是下标。你看把它改成1或2是否可行。我也有个疑问,不知道如何辨别是一维还是二维数组。

提问者对于答案的评价:
谢谢

最佳答案作者回复:
问题如何解决的啊?

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc354315.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐

  • WCC控件指令问题

    symbolappearanceblinkmodepicturestretcnflipblirnkspeedblinkcolorrotationbackcolorblckstyle…

    SIMATIC WinCC 2019年6月11日
  • WinCC 可以通过脚本 控制 多边形的角点位置吗?

    多边形对象有很多角点,我可以通过脚本,动态的控制各个角点的位置吗? 钻石用户推荐最佳答案 1楼上的朋友说的应该不对,您说的是对整个对象的XY坐标进行调整,并非是控制各个角点的命令吧…

    SIMATIC WinCC 2020年11月1日
  • Wincc 弹出窗口显示层次如何用c脚本修改?

    画面中定义多个小窗口,不关闭其他窗口用c脚本如何实现新激活窗口显示在前面? 最佳答案 使用子画面的层属性吧,建立一个内部变量,检测层到哪个数了,每弹出一次画面,就把这个层数+1,这…

    SIMATIC WinCC 2021年7月5日
  • S7-1200与Wincc连接不上

    在电脑上之安装了WinCCV7.4,项目复制过来后,用网线通过交换机连接CPU,设置如下图;电脑可以ping通CPU,但是WinCC一直显示连接断开 问题补充:项目是用复制器另存为…

    2020年11月1日
  • WinCC/Web Navigator软件下载

    请教各位大虾,我想通过网路客户机监视服务器的WINCC项目,听说是不是需要在客户机上安装WinCC/Web Navigator软件,WinCC/Web Navi…

    SIMATIC WinCC 2019年6月11日
  • WinCC Connectivity安装问题

    Wincc版本为V6.0SP3A,从兼容性列表上得知对应WinCC Connectivity的版本为V6.1,可是安装时却提示This application&…

    SIMATIC WinCC 2019年6月11日
  • 有关基于PROFIBUS 的液位控制系统的问题

    我准备用单片机作为从站的智能芯片,PC机作为主站。请问,我可以用WINCC编写作为主站的通信程序?如果可以怎么编写,最好告诉我程序!谢谢 最佳答案 这个时候你需要把pc机组太为一类…

    SIMATIC WinCC 2019年6月11日
  • wincc安装问题请教

    安装WINCC提示microso SQL server 2000(instanz wincc)没有安装,然后进行microso S…

    SIMATIC WinCC 2019年6月11日
  • wincc程序

    我这里有段简短的程序,是想实现当点击一个按扭时1_on/off,同时让1_level自加一.这样写对吗?请指点.谢谢 Sub OnLButtonDown(ByV…

    SIMATIC WinCC 2019年6月11日
  • 延时的脚本容易造成堵塞吗?

    WinCC 脚本诊断之如何让WinCC脚本运行更加顺畅 课程编号:V2537 您在使用WinCC时遇到过运行慢,堵塞等…. 点击这里,打开新窗口观看完整视频 该视频下的…

    2020年11月1日

发表回复

登录后才能评论