当前位置: 首页 > news >正文

TwinCAT3_C++_Simulink教程学习

环境 :TWinCAT3

目标:实现C++模块,并可以在PLC中进行调用

学习PLC直接调用C++模块,文档第6章节 第31页

文档:TwinCAT3_C++_Simulink教程V3.11.pdf

章节:6.0 PLC调用C++模块 

页次:31

AppInfo找不到,修改为_AppInfo

TcQueryInterface只支持两个参数

TcQueryInterface(IID_I_PLCcontrol, ADR(ip_PLCControl));

TwinCAT报错 There is no implememtation for method "TCRELEASE" defined in interface 'ITCUNKNOWN'

解决方法:...

C++例子

https://infosys.beckhoff.com/english.php?content=../content/1033/tcplclib_tc3_module/2282263819.html&id=

1. Instantiating a TwinCAT C++ class as a TwinCAT TcCOM Object

2. Creating an FB in the PLC, which as a simple wrapper offers the functionality of the C++ object

3. Execution of the sample project

infosys C++链接

https://infosys.beckhoff.com/english.php?content=../content/1033/tc3_c/index.html&id=

Modules - Handling

网站:https://infosys.beckhoff.com/english.php?content=../content/1033/tc3_c/index.html&id=

以下是网页翻译内容 

TcCOM 模块经构建后实现并被加载

本节说明在系统间交换模块时的处理方法。

需要区分两种 C++ 项目类型:

  • C++ 驱动程序:会生成 .sys 文件,以便由操作系统加载。

  • 带版本控制的 C++ 项目:会生成 tmx 文件,以便通过 TwinCAT 加载器(从 TwinCAT 3.1 Build 4024 版本起)进行加载。

倍福 (Beckhoff) 推荐标准情况下使用带版本控制的 C++ 项目。它们提供的优势包括:

  • 可通过从倍福获取的 OEM 证书进行驱动程序签名

  • 二进制文件的版本化存储

  • 按需提供的在线更改 (Online Change) 功能。

更多信息

  • 带版本控制的 C++ 项目

  • 不带版本控制的 C++ 项目

  • 启动模块

  • TwinCAT 加载器

报错:

Inconsistent inheritance of C++-Compatibility.Missing attribute for "I_PLCcontrol".

Inconsistent inheritance of C++-Compatibility.Missing attribute for "ITcUnknown".

删除 PLC代码中红色字体部分  FUNCTION_BLOCK FB_ControlModule //IMPLEMENTS I_PLCcontrol

删除TcAddRef

删除TcQueryInterface

删除TcRelease

官方建议使用版本控制的 C++ 项目,但是4024版本不能正确部署,还得手工修改tmc文件

http://www.dtcms.com/a/395995.html

相关文章:

  • 解码颜色空间:RGB、HSV与YUV
  • Maya绑定:创建控制器标准流程
  • EasyClick JavaScript eval用法
  • mosquitto求医之路(2):mosquitto倒下了
  • 【Java数据结构】——动态规划,分治,回溯
  • 【开题答辩全过程】以 基于Springboot的个性化运动管理平台为例,包含答辩的问题和答案
  • 静默安装 Oracle Database 21c on CentOS 7.6
  • 【数值分析】07-非线性方程的求根方法-基本概念、二分法求根
  • Golang常用Web开发库
  • Sub-GHz射频芯片,如何降低IoT终端功耗,提升传输性能?
  • 敏捷管理核心:价值驱动与快速响应的底层逻辑
  • 使用pip命令离线安装python库
  • Kubernetes 控制器深度解析:DaemonSet
  • 38.应用层协议HTTP(一)
  • VMware虚拟机ubuntu20.04共享文件夹无法使用
  • PyTorch 神经网络工具箱核心知识点总结
  • 豆包Seedream 4.0:全面测评、玩法探索与Prompt解读
  • STM32_02_GPIO
  • Flink SlotSharingGroup 机制详解
  • Final Cut Pro X fcpx音视频剪辑编辑(Mac中文)
  • 【LeetCode_88】合并两个有序数组
  • PromptPilot 发布:AI 提示词工程化新利器,首月零元体验
  • MySQL-详解数据库中的触发器
  • JVM调优实战及常量池详解
  • 字典树(Trie)
  • AI浏览器概述:Browser Use、Computer Use、Fellou
  • 「docker」三、3分钟快速安装docker
  • Altium Designer(AD)自定义PCB形状
  • 基于ZYNQ的创世SD NAND卡读写TXT文本实验
  • 文心快码入选2025人工智能AI4SE“银弹”标杆案例