• {{item.name}}
工业自动化软件 {{item.name}}
{{item2.name}}
更多
常问问题

为什么SCL源编译成功后,在‘一致性检查’ 编译中仍然报错

star star star star star
5.0 分
  • 故障诊断
  • scl
  • 报错
  • 编译
文档编号:F1019| 文档类型:常问问题| 发布时间:2024年01月22日
  • 0
  • 140
  • 911
1问题描述 一个PLC站的FB,DB,FC,UDT是通过多个......

1问题描述

一个PLC站的FB,DB,FC,UDT是通过多个SCL源生成的,如下:

图1-1 多SCL源程序

其中共享DB中用到了UDT类型,在编译时可选择先编译UDT的SCL源,再编译共享DB的SCL源,编译成功。

而在‘一致性检查‘的编译中报措:

图1-2 编译错误信息

错误信息:DB中数据类型为UDT的时间戳与逻辑块接口的时间戳不一致。

2问题原因

在‘一致性检查‘的全部编译过程中,会将所有的源程序再编译一次,而编译的顺序取决于源文件名称:

图2-1 ‘一致性检查‘窗口中源文件排列

造成先编译生成DB,后编译生成UDT,产生时间戳问题。

3解决办法

为解决此问题,可按照需要修改SCL源文件的名称使UDT的SCL源文件排在DB的SCL源文件的前面。

图3-1 修改后的SCL源文件

‘一致性检查’窗口的编译顺序发生变化:

图3-2 修改后的编译顺序

全部编译结果:无错误

图3-3 编译无错误信息


您可以前往全球资源库查看此文档

剩余80%未阅读,请登录后下载/查看文档

  • 评论
更多
  • 分享

    扫码分享

提示
您即将前往“全球技术资源库”。
“全球技术资源库”的用户名与本地支持中心(下载中心、技术论坛、找答案、1847工业学习平台)的用户名不通用。如果需要在全球技术资源库下载文档,您需要重新登录或注册。
确定

扫码进入移动端

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。