• 自动化系统
  • 驱动技术
  • 低压电气
  • 工业服务
  • 其他
Portal WinCC PLC和组件HMI人机界面通信与网络组件过程控制系统过程仪表及分析仪器工业识别工业信息安全
SIMATIC Panel
SIMATIC WinCC
Portal WinCC
WinCC Unified
WinCC OA / WinCC Open Architecture
编程器(PG)/工业计算机(IPC)
更多

WinCC Professional 获取通信状态(脚本)

star star star star star
0 分
发布时间:2024年03月08日
  • 0
  • 513
SIMATIC WinCC Professional 项目中可以通过脚本获取外部变量的变量状态,从而判断通信状态。

如何获取Portal WinCC Runtime Professional 项目与PLC的通信状态,通常推荐较简单的通信连接状态变量功能。

WinCC Professional 通信状态变量

另一种方法:通过外部变量(PLC通信连接下创建的变量)的状态来获得,我们可以通过脚本来获得外部变量的变量状态。

在 WinCC Runtime Professional 项目的”HMI 变量“相应变量表中,添加 Int 类型的外部变量External_tag_1,Bool 类型的内部变量 Trigger_connection_interrupted,如下图:

在项目树中的 WinCC Runtime Professional 项目中脚本的“C脚本” 中添加新脚本“DiagConnection",如下图:

在脚本中填写如下语句,语句内容为通过检查“External_tag_1“的变量状态来判断通信状态,如果通信正常给变量“Trigger_connection_interrupted”赋值为0,通信异常给变量“Trigger_connection_interrupted”赋值为1。

===========================================

DWORD dwState = 0;
GetTagSWordState ("External_tag_1", &dwState);
if (dwState == 0)

{
//Tag status OK
printf ("Tag status Ok: [Statuscode (hex):%X]\r\n",dwState);
SetTagBit ("Trigger_connection_interrupted", FALSE);
}
else if (dwState&0X0001)
{
printf ("Tag status deviant: [Statuscode (hex):%X]\r\n",dwState);
SetTagBit ("Trigger_connection_interrupted", TRUE);
}
else
{
//Tag status deviant
printf ("Tag status deviant: [Statuscode (hex):%X]\r\n",dwState);
SetTagBit ("Trigger_connection_interrupted", FALSE);

=======================================

如下图:

然后在项目树中打开”计划任务“,新建 "DiagConnection" 的计划任务,计划任务类型选择“函数列表”,触发器选择 10秒,然后点击“属性”窗口中的“事件”选项卡,然后选择已经建立的C脚本“DiagConnection”。

然后在项目树中的 “运行系统设置” 中选择“服务”,并勾选 “运行系统中的计划任务” 选项。如下图:

示例效果为每 10秒检查一次 外部变量 "External_tag_1" 所隶属的连接的通信状态,如果通信正常,则 “Trigger_connection_interrupted” 变量值为0,如果通信异常则 “Trigger_connection_interrupted” 变量值为1。

注意:可通过对计划任务中触发器的设置,来调整通信诊断的时间间隔,本例中设置为10秒。


  • 评论
  • 分享

    扫码分享

  • 收藏
  • 点赞
  • 纠错
 

隐私政策更新提示

欢迎您来到西门子数字化工业支持中心网站!我们使用cookies来确保您能最好地使用我们的网站,进行网站分析并根据您的兴趣定制内容。我们有时会与第三方共享cookie数据。继续浏览本网站,即表示您同意我们使用cookies。您亦可以参考西门子数据隐私政策以了解更多相关信息。

同意并继续浏览
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。