[CodeSys] 【1-16】Network Variable List网络变量列表

[复制链接]
查看124 | 回复0 | 2025-3-26 09:21:04 | 显示全部楼层 |阅读模式
在CODESYS通讯方式中,可以选择Network Variable List(网络变量列表,后续统一简称NVL)这个对象来实现CODESYS平台开发的控制器内部及不同控制器之间的变量数据进行通讯。



NVL对象

打开CODESYS编程开发软件,在Application应用程序中,添加对象如下:



主要包含:

  • Network Variable List(Receiver) 即接收端;

  • Network Variable List(Sender)

       即发送端。

要实现网络变量通讯,需要建立接收端和发送端才可以,其内部的通讯方式实际是基于UDP的协议。



当然,接收端和发送端,既可以放到同一控制器,又可以放在不同的控制之间实现数据交互,这里我们用两台不同的PC模拟两台控制器来说明 。



NVL Sender发送端

其中一台控制Device设备A,添加NVL Sender,如下图所示:



在发送端,举例创建两个变量g_bTemp和g_iTemp。然后,右键选择Properties(属性)选项,弹出的对话框,选择Link To File,勾选Export before compile,且选择导出的文件位置,如本例放到桌面,文件名为:NVL_Test.gvl。



确定好后,编译下整个工程项目,无错误后,此时,桌面将出现NVL_Test.gvl文件,将其复制到U盘备用。



NVL Receiver接收端

我们在另一台PC上,仿真模拟另外一个控制器B,作为NVL网络变量通讯的接收端;首先,添加相应对象NVL_Rec网络变量列表(接收端):



添加完成后,先把U盘的文件NVL_Test.gvl复制到PC上,如本例放在D:\Work\1 Codesys文件夹中,然后按照以下步骤选择发送端的文件进行Network配置,如下图所示:



最后,会自动生成NVL_R的全局变量,且无法修改:



当我们建立上述的发送端和接收端后,那么就可以实现上述列表中的两个变量的数据交互,两台PC同时运行相应的程序后,最终可以看到实际应用效果:





例程说明:控制器A(发送端)每3秒使得:g_iTemp + 1 ;

控制器B(接收端)实时读取g_iTemp的数据;本例中,可以看到g_iTemp实时值都为33。

需要注意的是,本例两个模拟控制器的PC均在同一无线网络(局域网)中。



例程链接

网盘链接:https://pan.baidu.com/s/1imf8U6mVWHHJtjSkRhKV6A
提取码:
游客,如果您要查看本帖隐藏内容请回复
本地下载:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则