TwinCAT C使用入门1、准备工作1.1 软件环境1.2 硬件环境2、安装流程2.1 Visual Studio安装2.2 TwinCAT 安装3、配置签名3.1 TwinCAT证书制作3.2 Windows开启测试模式4、C项目设置4.1 项目编译4.2 模块加载执行1、准备工作1.1 软件环境TwinCAT Package ManagerVisual Studio 2022 CommunityVMware Workstation 17.6.0Windows 10 Enterprise 22H2。1.2 硬件环境Windows PC。2、安装流程在PC上安装VMware虚拟机并在虚拟机中安装Windows 10 Enterprise 22H2系统。2.1 Visual Studio安装使用 VisualStudioSetup.exe安装VS 2022社区版需要注意在安装过程中要选择图中所示插件以支持对C代码进行编译。点击install直至安装完成。2.2 TwinCAT 安装TwinCAT安装通过 TwinCAT Package Manager进行这是一个安装管理软件旨在实现软件的模块化管理通过此软件可选择TwinCAT软件安装哪些插件或者更新特定插件到指定版本。由于测试在虚拟机中进行需要同时安装XAE开发环境和XAR运行环境。安装TwinCAT组件前需要对Package Manager进行一些设置遵照下图进行即可。Feeds中配置TwinCAT软件源和您的TwinCAT账户信息。点击 Add new feed。在弹出的窗口中按下图选择Beckhoff Stable Feed安装稳定版源中发布的软件。User和Password中填写您在Beckhoff官网中注册的账户信息。在Integration中配置TwinCAT XAE集成到现有的VS 2022框架中这里不必选择安装Shell。Location选择TwinCAT软件安装的目录保持默认即可。安装完毕后通常会在桌面生成快捷方式通过此快捷方式启动TwinCAT Package Manager软件。第一次会显示一个引导配置这里可以直接Skip。从列表中选择如下软件安装即可。TwinCAT.Standard.XAE v4026.27.0;TwinCAT.Standard.XAR v4026.27.0;TwinCAT 3 ADS v4026.27.0;TwinCAT 3 C v4026.26.0点击 Apply modification开启安装流程。安装完毕后在Installed中查看已经安装的软件安装成功后在桌面的右下角可以看到如下图标表明TwinCAT已经安装并嵌入到VS环境中通过这里点击 TwinCAT XAE即可启动XAE开发环境。3、配置签名C项目编译出的组件Module在Windows和TwinCAT/BSD系统中必须进行签名才可被TwinCAT runtime加载执行。这个签名由Beckhoff签发以确保证书来自受信机构。但是在非生产环境下测试时可以使用自签名证书进行前期的项目测试自签名证书需要开启windows系统的Test Mode模式以允许操作系统加载自签名文件。3.1 TwinCAT证书制作启动TwinCAT软件新建一个项目至此一个C的项目已经建立起来。按图示位置打开 Software Protection选项来配置签名文件。OEM Name填写签名文件的名称测试文件可以随便起一个名字即可Unique Name 随便填写一个邮箱地址即可Certificate for全部勾选。完毕后点击Start。系统会弹窗提示输出保存测试签名文件的位置默认位置即可点击save保存。弹窗提示输入私钥的密码输入一个密码即可这里输入1。完毕后即可在软件中看到已经生成的签名文件3.2 Windows开启测试模式在Windows下开启测试模式在power shell中输入以下指令即可bcdedit /set testsigningyes开启成功后系统的右下角会出现测试模式字样。至此环境配置完毕。4、C项目设置4.1 项目编译回到C的项目中在下图CycleUpdate函数中添加一行代码这样Module每执行一次都会对Data变量自加1。CycleUpdate函数相当于PLC中的MAIN函数。添加完毕后对项目进行编译确保没有错误。在 Untitled 1 Project 上右键选择 Properties 打开项目属性。导航到TC Sign在TwinCAT Certificate下填入之前设置的签名文件和私钥密码点击OK。设置完毕后编译项目确保没有错误对项目进行发布操作。在Untitled 1 Project上右键打开TwinCAT Publish Modules。之后在Output中查看信息可以查看已经生成了module。注意ProgramData文件夹默认是隐藏的。4.2 模块加载执行编译完毕后会生成一个C Module在Untitled 1节点下右键Add new item来新建一个Module对象。可以看到之前编译项目生成的Module 1已经识别在列表中选择并点击OK进行加载。这里已经成功加载Module并识别出输出输出变量。新建一个Task绑定到此Module中由Task周期调用执行此Module即可。在Task节点下右键 Add new task。新建Task2点击Task2可以配置Task2的属性这里保持所有属性默认即可。回到Module节点在Context下选择Task2作为它的任务Task。激活项目配置到测试机上并切换TwinCAT到run mode注意如果你的测试机未设置独立核心可能会影响TwinCAT切换到run mode模式。报错代码一般为0x1024出现此错误请关闭测试机的Hvper-V并设置独立若干核心放置TwinCAT的所有Task到独立核心中后重新激活项目即可。切换成功后在任务栏的下方可以看到已经是图标已经是绿色齿轮查看C Module中Input下的Data变量已经执行了自增操作说明C Module已经在执行了。