亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 工业技术

在原生功能块中定义自定义数组:实用指南

为何写此文?

开发原生功能块时发现无法使用自定义结构数组。或者说官方 PLCnext GitHub 缺此类教程。若用 C# 教程在原生功能块创建自定义数组,会编译失败或在 PLCnext Engineer 中设置数组值无响应。案例恰好涉及数据库。

演示说明

https://github.com/Leeable/UserDefineArray_NativeFB/tree/Master

要求

$ plcncli --version plcncli 23.6.0.1450 (23.6.0.1450) 

步骤 1

步骤 2

ArrayCplus.cs

步骤 3

在 ArrayTestCpp 文件夹打开终端输入:

$ plcncli generate code 

生成代码后,在 src 目录定位 ArrayTest-cli32.h 和 ArrayTest-cli64.h 文件,找到 #error 标记处。

需移除注释并改进代码。点击导航到 InArrayFB-cli.cpp 修改实现。

IntArrayFB-cli.cpp

步骤 4

在 ArrayCplus.cpp 输入以下代码。含字符串内容必须在 Process 过程中初始化而非 Init 区域;在 Init 区域初始化无效,导致无法通过 Engineer 写入 sName 和 sAttribute 值。

ArrayCplus-cli.cpp

步骤 5

在 ArrayTestCpp 文件夹打开终端输入:

$ plcncli build all $ plcncli deploy 

步骤 6

打开 PLCnext Engineer 加载 ArrayTest.pcwlx 向 ArrayTest 添加变量 arr

现在可工作

问题

注意:

Makers Blog 展示社区成员应用和用户故事,未经 Phoenix Contact 测试或审核。使用风险自负。

工业技术

  1. 中国CNC加工服务:引领全球制造外包新变革
  2. 制造业网络安全:为何关键及如何防范
  3. 热压印完全指南:金属箔优雅设计的工艺与考量
  4. NEMS纳米电子机械系统详解:核心特性、材料与应用前景
  5. 掌握弯曲缓冲槽:钣金零件中何时及如何添加
  6. 智慧采购:AI与人类洞察的融合
  7. 机床不平衡:每个机床车间必须解决的隐形杀手
  8. 高端钛合金 CNC 加工 – 航天/赛车/医疗领域精密零部件专家
  9. CNC编程语言精要:程序结构、指令代码与G/M码详解
  10. 高精密金属管材助力汽车安全系统
  11. D880 晶体管详解:特性、规格与应用案例
  12. Hypervisor详解:裸金属与宿主型架构、核心优势与安全挑战