标签:文件 选项卡中的 冗余配置 object 允许对本地系统和冗余 PLC 的文件系统进行文件访问。您可以使用它来交换文件。 表 2 . 主机/运行时 使用标准文件管理器的功能访问主机的文件系统 地点 主机端文件传输的当前目录 打开一个对话框以在设置的路径中创建一个新目录 删除选定的文件或目录 更新设置位置的文件和目录列表 将选定的文件和目录从主机和运行时系统复制到相应的其他文件系统 如果目标目
CANopen 诊断 本章介绍 CANopen 协议提供的诊断选项。 CANopen 状态 CANopen 网络由 NMT 主站(网络管理)和 NMT 从站组成。在这种情况下,NMT 主机控制所有设备并可以更改它们的通信状态。 CANopen 设备处于以下四种可能状态之一: 初始化:开启后,节点经过这个状态。此时,设备应用程序和设备通信(比特率和节点地址)被初始化。之后,节点独立切换到“预操作”状
局部变量 每个 G 代码文件都可以声明局部变量。对于主程序,必须在最开始插入声明;对于子程序,直接在子程序声明之后。 局部变量仅在声明它们的程序或子程序中可见。 (无动态范围) 提示 局部变量仅在在线解码器中起作用(不在 CNC 编辑器中)。 提示 每个子程序和主程序中局部变量的数量限制为 21 个。 声明的语法 语法类似于用于声明子程序参数的语法。每个块可以声明一个变量。该块不以 N 字开头。变
CANopen 诊断 本章介绍 CANopen 协议提供的诊断选项。 CANopen 状态 CANopen 网络由 NMT 主站(网络管理)和 NMT 从站组成。在这种情况下,NMT 主机控制所有设备并可以更改它们的通信状态。 CANopen 设备处于以下四种可能状态之一: 初始化:开启后,节点经过这个状态。此时,设备应用程序和设备通信(比特率和节点地址)被初始化。之后,节点独立切换到“预操作”状
值范围超过 360° 的旋转轴 介绍 机器人通常具有值范围超过 360° 的旋转轴。例如,SCARA 机器人的最后一个轴(定向轴 A3)通常可以旋转不止一圈,从大约 -540° 到 540°。 这意味着可以通过多种方式接近相同的位置和方向。以 SCARA 为例,无论最后一个轴是在 -170° 还是 190° (= -170° + 360°),刀具的方向和位置都是相同的。因此,笛卡尔位置和方向到轴值
SA0012:可以声明为常量的变量 检测未使用写权限访问的变量,因此可以声明为常量 理由:如果变量仅在声明点写入并且仅用于读取,则静态分析假定该变量也不应该被更改。首先,声明为常量会导致检查程序更改时变量是否未更改。其次,声明为常量可能会导致代码更快。 重要 如果一个项目中存在多个应用程序,则仅影响当前活动应用程序下的对象。如果只有一个应用程序,那么公共 POU 池中的对象也会受到影响。 重要性:
SA0015:通过 FB_Init 访问全局数据 通过方法检测功能块对全局变量的访问 FB_Init .此变量的值取决于初始化的顺序。 理由:根据 POU 实例的声明位置,如果违反规则,可能会访问未初始化的变量。 重要性:高 例 27 . 例子 VAR_GLOBAL g_xTest1 : BOOL; g_iTest3 : INT; END_VAR METHOD PUBLIC fb_init : B
SA0017:对指针变量的异常赋值 检测对既不是地址的指针的分配( ADR 运算符、指针变量)或常量 0 理由:如果为指针分配的值不是有效地址,则指针的取消引用会导致“访问冲突异常”。 重要性:高 例 29 . 例子 PROGRAM PLC_PRG VAR pInt : POINTER TO INT; dwAddress : DWORD; END_VAR dwAddress := dwAddres
SA0006:来自多个任务的写访问 检测由多个任务写入的变量。 理由:在多个任务中写入的变量可能会意外更改其值。这可能会导致混乱的情况。如果同时将变量写入两个任务,则字符串变量(在某些 32 位系统上还有 64 位整数变量)甚至会达到不一致的状态。 例外:在特定情况下,可能需要多个任务编写一个变量。例如,使用信号量来确保访问不会导致不一致的状态。 重要性:高 PLCopen规则:CP10 例 17
SA0029:代码中的符号与声明不同 检测标识符的符号与其声明中的符号不同的代码位置 理由:IEC 61131-3 标准将标识符定义为不区分大小写。这意味着变量声明为“ varx “也可以用作” VaRx ” 在代码中。但是,这是令人困惑和误导的,应该避免。 重要性:中等 例 40 . 例子 一个 PLC_PRG POU 和一个 fnc (函数) POU 存在于设备树中。 PROGRAM PLC_