SIEMENS西门子西藏自治区日喀则市(授权)一级代理商——西门子西南总代理

2024-11-26 07:00 120.237.217.245 1次
发布企业
广东湘恒智能科技有限公司商铺
认证
资质核验:
已通过营业执照认证
入驻顺企:
1
主体名称:
广东湘恒智能科技有限公司
组织机构代码:
91441304MAC3TWY11U
报价
请来电询价
西门子总代理
PLC
西门子一级代
驱动
西门子代理商
伺服电机
关键词
PLC,变频器,代理商,一级代理,伺服电机
所在地
惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房
联系电话
15903418770
手机
15915421161
联系人
张经理  请说明来自顺企网,优惠更多
请卖家联系我
15915421161

产品详细介绍

(1)为什么一个由内部变量的 “数值改变” 事件触发的脚本不被执行?

如果使用一个内部变量调用一个内部变量,以此,例如被调用的变量又去执行一个脚本(比如,根据变量变化),此时一个安全机制会阻止这个功能被执行。
此安全功能是为了阻止连续的执行。
例如
在内部变量 “HMI_Tag_01” 属性下,“更改数值”事件去置位内部变量 “HMI_Tag_02” 中的某一位。内部变量“HMI_Tag_02” 的“更改数值”事件下又调用一个脚本。结果:这个脚本不会被执行。
解决办法
使用和控制器通讯的外部变量。请注意,通过使用外部变量可以规避上述安全机制。在项目运行时可能会产生问题。


(2)如何在一个脚本中访问数组中的元素?

对数组元素的访问是通过数组的名称和数组中由括号分隔的数组索引来实现的:“SmartTags("Array Name")(arrayindex) ”

例如    访问数组 "DB10_HMI_Data"的第二个元素 :

Dim Tag_01    'Internal script tag
Tag_01 = SmartTags("DB10_HMI_Data")(2)

注意
使用下面语法访问字符串类型数组中的元素:

Dim Tag_01   'Internal script tag
Tag_01 = SmartTags("DB10_HMI_Data[2]")

例如   通过一个循环描述数组 "DM10_HMI_Data"的第一个元素至第十一个元素

Dim Tag_01
For Tag_01=0 to 10
    SmartTags("DB10_HMI_Data")(Tag_01) =5
Next

局部脚本的数组(该数组仅在此脚本中可用)可以使用同样的方式查询,对于多维数组,各个维度通过一个逗号分隔开。
例如   访问二维数组变量 "HMI_Data" 没有连接控制器。

Dim HMI_Data(10,10)
Dim Tag_01
Tag_01 = HMI_Data(0, 5)

注意
当使用控制器连接的数组元素时,推荐在脚本开始前将他们赋值给脚本内部变量,再使用内部变量进行其他工作。结束脚本前,将内部变量赋值给数组元素。
  

(3)如何在控制器和脚本之间有效的赋值过程变量数组?

从控制器到一个脚本赋值,过程变量数组需要在一个循环中将数组元素一个一个赋值,参考示例。也可以通过一个简单的指令把局部脚本的数组的值赋给过程变量数组。

例如   把控制器的数组 "CPU_Array" 的值赋给内部数组"local_array" 和 把内部数组 "local_array" 的值赋给控制器的数组"CPU_Array" 

Dim local_array(10)
Dim i
...
' Copy from the CPU to the script:
For i = 0 To 9
    local_array(i) =SmartTags("CPU_Array")(i)
Next
...
' Copy back to the CPU:
SmartTags("CPU_Array") = local_array

注意使用数组可能导致较高的通信负载和数据不一致。
 

(4)如何访问动态库 ( "动态链接库 ",DLLs)?


WinCC Comfort 和 Advanced  不能访问  DLLs。WinCCProfessional在用户定义的C函数里可以调用DLL函数 (DLL = Dynamic Link Library)。

DLL 位于“..\Common Files\Siemens\bin”文件夹中,或位于 PATH系统变量所定义的文件夹中。此变量由操作系统的系统属性指定。

步骤

按如下步骤执行,以通过 DLL 调用函数:

(1)打开要调用 DLL 函数的用户自定义 C 函数。

(2)在用户自定义 C 函数的开始位置添加以下代码:

 

#pragma code(".dll")

//声明在 DLL 中存储的函数:

(...);

(...);

...

(...);

#pragma code

结果

<名称.dll> 中的函数 <函数名称 1=""> ... <函数名称 n="">被声明。可在用户自定义C 函数中调用这些函数。

示例:

以下示例显示如何集成“kernel32.dll”文件和调用“GetLocalTime”函数:

 

#pragma code("kernel32.dll")

VOID GetLocalTime(LPSYSTEMTIME lpSystemTime);

#pragma code()

 

SYSTEMTIME st;

 

GetLocalTime(&st);

      

(5)如何用VBS脚本确定鼠标当前的位置?


为了读取当前鼠标的位置,需要访问操作系统的 API  (Application Programming Interface)。VBS 不支持通过 DLLs 访问操作系统的 API 。



所属分类:中国电工电气网 / PLC
关于广东湘恒智能科技有限公司商铺首页 | 更多产品 | 联系方式 | 黄页介绍
成立日期2022年11月17日
主营产品西门子PLC代理商,plc变频器,伺服电机,人机界面,触摸屏,线缆,DP接头
公司简介广东湘恒智能科技有限公司主要从事工业自动化产品的集成,销售与维修。致力于为您提供在机械、化工、水泥、电力、环保等领域的电气及自动化技术的完整解决方案,包括自动化产品及系统、工程项目执行及管理、主要过程控制领域技术支持,以及专业的售后服务、培训等。公司本着“以人矢志创新、追求卓越”的工作方针,致力于工业自动化控制领域的产品开发、工程配套和系统集成、销售,拥有丰富的自动为本、科技先导、化产品的应用和实 ...
公司新闻
顺企网 | 公司 | 黄页 | 产品 | 采购 | 资讯 | 免费注册 轻松建站
免责声明:本站信息由广东湘恒智能科技有限公司自行发布,交易请核实资质,谨防诈骗,如有侵权请联系我们   法律声明  联系顺企网
© 11467.com 顺企网 版权所有
ICP备案: 粤B2-20160116 / 粤ICP备12079258号 / 粤公网安备 44030702000007号 / 互联网药品信息许可证:(粤)—经营性—2023—0112