TwinCAT3 常见问题3—— 没有源代码适用于这个项目

1. 问题

  • 笔者在TwinCAT3+VS2017环境下编程时遇到如下问题:
 没有源代码适用于这个项目,因为它在编译库
 'collections,3.5.13.0(system)'里面。
 您是否要浏览原始库来查找源代码?

在这里插入图片描述

2. 问题查找

通过:
燕骏博客 » codesys软件报错”没有源代码适用于这个项目,因为它是在编译库“SM3_Basic, 4.2.1.0 (3S – Smart Software Solutions GmbH)”里面
得知此类问题是由于野指针引起的。

关于野指针的问题,博客:
关于野指针的一些问题与总结
总结得非常全面,此文章不再概述。

3. 问题解决

既然是指针引起的错误,故仔细检查项目程序中的指针使用是否规范,包括指针变量是否初始化、指针释放后之后是否置空、指针操作是否超越变量作用域等;
而我的程序中没有使用指针变量,所以我便开始检查数组是否使用规范,最后检查发现程序中数组的使用过程中超出了数组定义的元素个数,也就是下标超出范围。
正确修正后问题就得以解决了。

后记:笔者才疏学浅,如有错误,望读者指正。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 我可以给你一些有关如何使用TwinCAT 3编写存储数据代码的建议。首先,在TwinCAT 3中创建一个新的项目,然后在项目中添加新的程序文件。在新程序文件中,您可以编写一些有关存储数据的代码,例如使用指针存储数据、使用数组存储数据等等。您也可以创建一个新的结构来存储数据,并将其作为一个变量来使用。总之,TwinCAT 3可以帮助您使用任何方式来存储数据。 ### 回答2: 使用TwinCAT 3编写一个存储数据的代码可以分为以下几个步骤: 1. 配置数据连接:首先,我们需要在TwinCAT 3中配置与数据的连接。可以通过添加数据连接对象,输入数据的IP地址、端口号、用户名和密码等信息来完成连接配置。 2. 创建数据表:在数据中创建一个用于存储数据的表。可以使用SQL语句在数据中创建一个具有适当字段的表,以便存储我们要保存的数据。 3. 编写存储数据的函数块:在TwinCAT 3中创建一个函数块,用于存储数据。可以在函数块中定义适当的变量,如数据时间戳、数据值等,并实现将数据保存到数据的功能。 4. 调用存储数据的函数块:在需要存储数据的地方调用存储数据的函数块。可以根据需要,在PLC程序的适当位置调用该函数块,将需要存储的数据传递给函数块,并执行存储数据的操作。 需要注意的是,存储数据的代码应该根据具体的需求进行适当的修改和优化。例如,可以添加错误处理机制、实现数据的批量存储等。 总之,使用TwinCAT 3编写存储数据的代码需要进行数据连接配置、创建数据表、编写存储数据的函数块以及调用函数块等操作,以实现将数据保存到数据中的功能。 ### 回答3: 在TwinCAT 3中编写存储数据的代码需要以下步骤: 1. 首先,在TwinCAT 3的开发环境中创建一个新的工程。 2. 在工程中创建一个PLC任务,并设置其周期和优先级。 3. 在PLC程序中定义一个结构体或数组来存储需要保存的数据。例如,可以创建一个结构体,包含需要保存的变量,如时间戳、传感器数据等。 4. 创建一个函数块,并在其中定义用于数据存储的变量,如文件句柄和路径等。 5. 在函数块中编写一个子程序,用于将数据写入文件。可以使用TwinCAT 3提供的文件操作函数来实现。在子程序中,打开文件、写入数据并关闭文件。 6. 在PLC程序中调用上述的数据存储子程序,并将需要保存的数据作为参数传递给子程序。 7. 根据需要,可以在PLC程序中添加触发条件,以触发数据存储操作。例如,可以使用定时器或事件触发代码段。 需要注意的是,由于TwinCAT 3是基于IEC 61131-3标准的编程环境,因此可以使用ST、LD、FBD等多种编程语言来实现数据存储代码。代码的具体实现方式取决于具体的需求和系统要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值