浔之漫智控技术(上海)有限公司
西门子授权代理商 , 西门子授权代理商 , 西门子一级代理商
SIEMENS西门子 WinCC V7.5SP1 ASIA 6AV6 381-2BP07-5AV0


           S_CUD:分配参数并进行加/减计数 (S7-300, S7-400) 说明 可以使用“分配参数并加/减计数”指令递增或递减计数器值。如果输入 CU 的信号状态从“0” 变为“1”(信号上升沿),则当前计数器值将加 1。如果输入 CD 的信号状态从“0”变为“1”(信 号上升沿),则计数器值减 1。当前计数器值在输出 CV 处输出十六进制值,在输出 CV_BCD 处输出 BCD 编码的值。如果在一个程序周期内输入 CU 和 CD 都出现信号上升沿,则计数器 值将保持不变。 计数器值达到上限“999”后,停止递增。如果达到上限值,即使出现信号上升沿,计数器值 也不再递增。达到下限值“0”时,计数器值不再递减。 当输入 S 的信号状态从“0”变为“1”时,将计数器值设置为参数 PV 的值。如果计数器已置位, 并且输入 CU 和 CD 处的 RLO 为“1”,那么即使没有检测到信号沿变化,计数器也会在下一个 扫描周期内相应地进行计数。 当输入 R 的信号状态变为“1”时,将计数器值置位为“0”。只要 R 输入的信号状态为“1”,输入 CU、CD 和 S 信号状态的处理就不会影响该计数器值。 如果计数器值大于 0,输出 Q 的信号状态就为“1”。如果计数器值等于 0,则输出 Q 的信号 状态为“0”。 说明 只需在程序中的某一位置处使用计数器,即可避免计数错误的风险。 “分配参数并加/减计数”指令需要对边沿评估进行前导逻辑运算,可以放在程序段中或程序 段的结尾。 参数 下表列出了指令“分配参数并加/减计数”的参数: 参数 声明 数据类型 存储区 说明 <计数器> InOut COUNTER C 指令中的计数器 计数器的数量取决于 CPU。 CU Input BOOL I、Q、M、D、L 加计数输入 CD Input BOOL I、Q、M、D、 L、T、C 减计数输入。

           如果输入“TagIn_1”或“TagIn_2”的信号状态从“0”变为“1”(上升沿),则执行“分配参数并加/ 减计数”指令。输入“TagIn_1”出现信号上升沿且当前计数器值小于“999”时,计数器值加“1”。 输入“TagIn_2”出现信号上升沿且当前计数器值大于“0”时,计数器值减“1”。 当输入“TagIn_3”的信号状态从“0”变为“1”时,将该计数器的值设置为操作数“TagPresetValue” 的值。当“TagIn_4”操作数的信号状态为“1”时,计数器值将复位为“0”。 当前计数器值以十六进制值的形式保存在操作数“TagValue_1”中,以 BCD 编码的形式保存在 操作数“TagValue_2”中。 只要当前计数器值不等于“0”,输出“TagOut”的信号状态便为“1”设置计数器值 (S7-300, S7-400) 说明 可以使用“设置计数器值”指令设置计数器的值。当输入的逻辑运算结果 (RLO) 从“0”变为“1” 时,执行该指令。执行指令后,将计数器设置为指定计数器值。 “设置计数器值”指令需要前导逻辑运算进行边沿评估,而且只能放在程序段的右侧。 参数 下表列出了“设置计数器值”指令的参数: 参数 声明 数据类型 存储区 说明 <计数值> Input WORD I、Q、M、D、L 或常数 计数器中的值表示为 BCD 格式。 (C#0 到 C#999) <计数器> InOut/Input COUNTER C 预设的计数器 有关有效数据类型的更多信息,请参见“另请参见”。操作数“TagIn”的信号状态从“0”变为“1”时,使用值“100”预设计数器“Counter_1”。加计数 (S7-300, S7-400) 说明 如果在逻辑运算结果 (RLO) 中出现信号上升沿,则可以通过“加计数”指令将指定计数器的 值递增“1”。计数器值达到上限“999”后,停止增加。达到上限后,即使出现信号上升沿,计 数值也不再递增。 “加计数”指令需要前导逻辑运算进行边沿评估,而且只能放在程序段的右侧。减计数 (S7-300, S7-400) 说明 如果在逻辑运算结果 (RLO) 中出现信号上升沿,则可以通过“减计数”指令将指定计数器的 值递减“1”。计数器值达到下限“0”后,停止减少。达到下限值后,即时出现上升沿,计数器 值也不再递减。 “减计数”指令需要前导逻辑运算进行边沿评估,而且只能放在程序段的右侧。 参数 下表列出了“减计数”指令的参数: 参数 声明 数据类型 存储区 说明 <计数器> InOut/Input COUNTER C 值递减的计数器。 有关有效数据类型的更多信息,请参见“另请参见”。当操作数“TagIn_1”的信号状态从“0”变为“1”(信号上升沿)时,计数器“Counter_1”将预设为 值“100”。 操作数“TagIn_2”的信号状态从“0”变为“1”时,计数器“Counter_1”的值减 1。 操作数“TagIn_3”的信号状态为“1”时,计数器“Counter_1”的值被预设为“0”。比较操作 (S7-300, S7-400) CMP ==:等于 (S7-300, S7-400) 说明 可以使用“等于”指令判断第一个比较值(<操作数 1>)是否等于第二个比较值(<操作数 2>)。要比较的两个值必须为相同的数据类型。 如果满足比较条件,则指令返回逻辑运算结果 (RLO)“1”。如果不满足比较条件,则该指令返 回 RLO“0”。该指令的 RLO 通过以下方式与整个程序段中的 RLO 进行逻辑运算: • 串联比较指令时,将进行“与”运算。 • 并联比较指令时,将进行“或”运算。指定指令上方操作数占位符中的第一个比较值(<操作数 1>)。指定指令下方操作数占位符 中的第二个比较值(<操作数 2>)。 说明 比较浮点数 如果要比较数据类型 REAL 或 LREAL,使用指令“IN_RANGE:范围内的值”,而不是指令“CMP ==:等于”。指定指令上方操作数占位符中的第一个比较值(<操作数 1>)。指定指令下方操作数占位符 中的第二个比较值(<操作数 2>)。 说明 比较浮点数 如果要比较数据类型 REAL 或 LREAL,使用指令“IN_RANGE:范围内的值”,而不是指令“CMP ==:等于”。不等于 (S7-300, S7-400) 说明 使用“不等于”指令判断第一个比较值(<操作数 1>)是否不等于第二个比较值(<操作数 2>)。要比较的两个值必须为相同的数据类型。 如果满足比较条件,则指令返回逻辑运算结果 (RLO)“1”。如果不满足比较条件,则指令返回 RLO“0”。该指令的 RLO 通过以下方式与整个程序段中的 RLO 进行逻辑运算: • 串联比较指令时,将进行“与”运算。 • 并联比较指令时,将进行“或”运算。 指定指令上方操作数占位符中的第一个比较值(<操作数 1>)。指定指令下方操作数占位符 中的第二个比较值(<操作数 2>)。 参数 下表列出了“不等于”指令的参数: 参数 声明 数据类型 存储区 说明 <操作数 1> Input 位字符串、整 数、浮点数 I、Q、M、D、 L、P 或常量 第一个比较值 <操作数 2> Input 位字符串、整 数、浮点数 I、Q、M、D、 L、P 或常量 要比较的第二个值 可以从指令框的“???”下拉列表中选择该指令的数据类型。 有关有效数据类型的更多信息,请参见“另请参见”。满足以下条件时,将置位输出 "TagOut": • 操作数“TagIn_1”和“TagIn_2”的信号状态为“1”。 • 如果 ("Tag_Value1" <> "Tag_Value2"),则满足比较指令的条件。CMP >=:大于等于 (S7-300, S7-400) 说明 可以使用“大于或等于”指令判断第一个比较值(<操作数 1>)是否大于或等于第二个比较值 (<操作数 2>)。要比较的两个值必须为相同的数据类型。 如果满足比较条件,则指令返回逻辑运算结果 (RLO)“1”。如果不满足比较条件,则指令返回 RLO“0”。该指令的 RLO 通过以下方式与整个程序段中的 RLO 进行逻辑运算: • 串联比较指令时,将进行“与”运算。 • 并联比较指令时,将进行“或”运算。 指定指令上方操作数占位符中的第一个比较值(<操作数 1>)。指定指令下方操作数占位符 中的第二个比较值(<操作数 2>)。

展开全文
拨打电话 微信咨询 发送询价