1. 运动控制指令概要(omron 机器自动化控制器)
机器自动化控制器——第一章 运动控制指令概要
- 1-1 运动控制指令
- PLCopen®运动控制用功能块
- 运动控制指令概要
- ▶ 运动控制指令的种类
- ▶ 状态变化
- ▶ 运动控制指令的启动和状态
- ▶ 异常处理
- ▶ 执行运动控制指令时输入变量的变更(指令重启)
- ▶ 通过选择缓存模式执行指令多重启动
- ▶ 通过运动控制使用的结构体
- ▶ 速度急剧变化时
- ▶ 发生异常的条件
- 1-2 运动控制指令的基本知识
- 运动控制指令的名称
- ▶ 梯形图(LD)
- ▶ 结构文本(ST)
- 运动控制指令的配置
- ▶ 任务种类
- ▶ 功能块定义内
- ▶ 主站控制区域
- ▶ ST语法指令中
- ▶ 实数(REAL型、LREAL型)的使用
- 运动控制指令的同时启动
- 运动控制指令的在线编辑
- CPU单元的动作模式切换
- ▶ 从运行模式切换到程序模式
- ▶ 从程序模式切换到运行模式
1-1 运动控制指令
要从NJ/NX系列的用户程序执行运动控制功能,需要使用作为功能块定义的运动控制指令。
MC功能模块的运动控制指令以PLCopen®的运动控制用功能块的技术规格为基础。
运动控制指令有PLCopen®定义的指令和MC功能模块独有的指令两种。
下面对PLCopen®运动控制用功能块和运动控制指令的概要进行说明。
运动控制指令的详情请参阅 “NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)”。
Ver.1.05以上的CPU单元和Ver.1.06以上的Sysmac Studio组合时,可使用NX系列位置接口单元。
使用NX系列位置接口单元时,请参阅 “NX系列 位置接口单元 用户手册(SBCE-374)”
PLCopen®运动控制用功能块
- PLCopen®对运动控制用功能块进行了标准化,制定了IEC 61131-3(JIS B 3503)规格语言程序接口的定义。
- 除了单轴定位、电子凸轮功能、多轴插补控制等功能,还对启动指令的基本步骤进行了定义。
- 利用PLCopen®运动控制用功能块,可以减小对硬件的依赖,提高用户程序的再利用率。 还能降低培训、支持等的成本。
参考
何谓PLCopen®
PLCopen®是总部在欧洲的IEC 61131-3推广团体,是一个全球性的会员组织。
IEC 61131-3是PLC编程的国际标准规格。
PLCopen®Japan是日本市场的推广委员会,由关注日本市场的会员构成。
• PLCopen®Japan的网址:http://www.plcopen-japan.jp/
• PLCopen®欧洲总部网址:http://www.plcopen.org/
运动控制指令概要
- 下面对PLCopen®运动控制用功能块技术规格所定义的项目和MC功能模块中的概要进行说明。
▶ 运动控制指令的种类
-
- 下表所示为运动控制指令的种类和概要。
种类 | 种类 | 功能项目 | 概要 |
---|---|---|---|
通用指令 | 通用的管理类指令 | 凸轮表 | 控制MC功能模块的通用状态、操作或监视各种数 |
参数 | |||
轴指令 | 单轴的动作类指令 | 单轴位置控制 | 使轴执行单轴动作的指令。 |
单轴速度控制 | |||
单轴转矩控制 | |||
单轴同步控制 | |||
单轴手动操作 | |||
单轴的管理类指令 | 单轴控制辅助 | 控制、监视轴状态的指令。 | |
轴组指令 | 多轴的动作类指令 | 多轴协调控制 | 使轴组执行协调动作的指令。 |
多轴的管理类指令 | 多轴协调控制辅助 | 控制、监视轴组状态的指令。 |
▶ 状态变化
-
- 对轴的状态、轴组的状态及指令启动引发的状态变化进行定义。
- 关于MC功能模块的状态和状态变化,请参阅 “NJ/NX系列 CPU单元 用户手册 运动控制篇 (SBCE-363)”。
▶ 运动控制指令的启动和状态
-
- 将启动指令的变量及表示指令执行状态的变量作为指令的通用规则进行定义。
- 启动指令的输入变量有Execute和Enable两类。
- 表示指令执行状态的输出变量有Busy、Done、CommandAborted、Error等。
- 关于MC功能模块的详细规格,请参阅 “NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)”。
使用注意事项
手册中记载的时序图可能与Sysmac Studio的数据跟踪中显示的时序不同。
关于数据跟踪的详情,请参阅 “NJ/NX系列 CPU单元 用户手册 软件篇(SBCA-359)”。
▶ 异常处理
-
- MC功能模块的运动控制通过运动控制指令执行。执行运动控制指令时,检查输入参数的错误及指令处理 导致的异常。
- 指令有异常时,指令的输出变量Error(错误)变为TRUE,并将异常代码输出到ErrorID(错误代码)。
- 运动控制指令可通过2种方法编写异常处理程序。
► 按指令进行异常处理
可利用指令的输出变量Error(错误)或ErrorID(错误代码),对每个发生异常的指令进行异常处理。
以下是判定实例名称为 “PWR1”的指令发生 “轴指定错误”的例子。程序编制为 “NoAxisErr”变为 TRUE时执行异常处理。
**► 按种类进行异常处理**
种类进行异常处理 可利用运动控制系统变量的异常状态,对每一类异常进行异常处理。
以下是判定 “MC_Axis000”的轴发生 “从站通信异常”的例子。程序编制为 “ConnectErr”变为TRUE时 执行异常处理
▶ 执行运动控制指令时输入变量的变更(指令重启)
-
- 在执行运动控制指令时变更相同指令实例的输入变量值,再次将Execute变为TRUE,即以变更后的值进行 动作。
- 关于MC功能模块的指令重启,请参阅 “NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)”
▶ 通过选择缓存模式执行指令多重启动
-
- 可以在动作中执行其他指令实例。
- 可通过设定名为缓存模式选择(BufferMode)的输入来指定动作开始的时间。
- 缓存模式选择(BufferMode)中有以下模式可选。
-
- • 中断 :中断(Aborting)
- • 等待 :等待(Buffered)
- • 以低速合并 :低速合并(BlendingLow)
- • 以前一个速度合并 :以前一个速度合并(BlendingPrevious)
- • 以后一个速度合并 :以后一个速度合并(BlendingNext)
- • 以高速合并 :以高速合并(BlendingHigh)
- 若选择中断模式,则中断其他动作立即执行新指令。
- 选择其他缓存模式时,会一直等待,直到执行中的指令的输出变量Done及InVelocity变为TRUE。
- 在等待模式下,执行中的指令动作正常结束(Done = TRUE)后再执行下一个指令。
- 在合并模式下,不停止且连续执行两个指令的动作。连续执行动作的速度可从四种缓存模式中选择。
- MC功能模块中通过缓存模式选择(BufferMode)执行的指令多重启动只表述为指令多重启动进行说明。
- 关于MC功能模块的指令多重启动,请参阅 “NJ/NX系列 CPU单元 用户手册 运动控制篇(SBCE-363)”。
- MC功能模块的指令多重启动是否可以执行,取决于当前的轴状态或当前的轴组状态以及所执行的指令的 种类。相关详情请参阅 “A-3 多重启动可否(P.A-83)”
▶ 通过运动控制使用的结构体
-
- PLCopen技术资料对运动控制所需的信息作为结构体进行定义。对数据类型的名称及概要作出了定义, 但没有对结构体的内容作出定义。
- PLCopen中的主要数据类型和MC功能模块使用的数据类型如下所示。
数据类型 定义 PLCopen® MC功能模块 AXIS_REF _sAXIS_REF 包含对应轴信息的结构体。 AXES_GROUP_REF _sGROUP_REF 包含对应轴组信息的结构体。 TRIGGER_REF _sTRIGGER_REF 包含触发输入相关信息的结构体。
• 触发指定
• 检测模式信息(正、负、两者、边缘、电平、模式识别等)INPUT_REF - 包含输入规格相关信息的结构体。有时为虚拟数据。
MC功能模块中未使用。OUTPUT_REF _sOUTPUT_REF 与物理性输出相关的结构体。
MC功能模块中,Ver.1.06以上的CPU单元和Ver.1.07以上的
Sysmac Studio组合时使用。 -
- 如上表所示,MC功能模块使用一部分PLCopen定义的数据类型和MC功能模块独自定义的数据类型。
- 关于MC功能模块使用的数据类型和结构体的定义,请参阅 “NJ/NX系列 CPU单元 用户手册 运动控制 篇(SBCE-363)”。
同步控制的主轴及辅轴的注意事项
- 以下是同步控制的主轴及辅轴在速度发生急剧变化时的注意事项和发生异常的条件。
▶ 速度急剧变化时
-
- 同步动作开始或动作过程中主轴及辅轴的速度发生急剧变化时,从轴的动作会急剧变化,可能对装置施 加过度的力。
- 在以下条件下,主轴及辅轴的速度有可能发生急剧变化,请予注意。
- • 主轴及辅轴执行以下4种指令时
- MC_ImmediateStop(立即停止)指令
- MC_SetPosition(变更当前位置)指令
- MC_ResetFollowingError(偏差计数器复位)指令
- MC_SyncMoveVelocity(周期同步速度控制)指令
- 请正确设置上述指令的输入参数及启动时间,或者在解除同步控制后再启动上述指令,以防止从轴急 剧动作。
- • 主轴及辅轴的立即停止输入信号、极限停止输入信号变为TRUE时
- • 主轴及辅轴从伺服ON状态变为伺服OFF状态时 主轴及辅轴为垂直轴等时,在变为伺服OFF的状态时速度可能会发生急剧变化。 请采取对主轴或辅轴设置制动器、或者在同步控制结束后再变为伺服OFF状态等对策,防止从轴急剧 动作
- • 切换伺服驱动器的控制模式时 请注意指令启动时的速度变化。 请恰当设置指令的输入参数
版本相关信息
Ver.1.10以上的CPU单元中,即使使用MC_SetPosition(当前位置变更)指令变更同步控制指令的主 轴或辅轴的指令当前位置,从轴的动作也不会急剧变化。
▶ 发生异常的条件
-
- 有NJ/NX系列CPU单元通用的条件和NX701CPU单元独有的条件。
► NJ/NX系列CPU单元通用的条件
开始同步动作时或同步动作过程中,主轴及辅轴发生以下四个条件时,从轴会发生“主轴位置读取异常” 或 “辅轴位置读取异常”。
同时,同步控制指令的输出变量 “CommandAborted(执行中断)”变为TRUE。 • EtherCAT的过程数据通信未建立时 • 在 “EtherCAT的通信未建立”的状态下发生 “从站通信异常”时
• 发生 “不能计算绝对值编码器当前位置”的异常时
• 从站脱离时 对从轴执行了同步控制指令多重启动时,如下所示。
• 多重启动时,即使主轴及辅轴发生上述4个条件中的任意一个,也将正常受理多重启动,进入缓冲 状态。
• 执行多重启动、缓冲状态的指令开始动作时,只要不发生上述4个条件中的任意一个,便可开始动作。
参考
对主轴及辅轴启动MC_Home或MC_HomeWithParameter、或者使用绝对值编码器的轴执行 MC_Power时,从轴会忽视主轴及辅轴的位置变化。
因此,由于原点确定时的处理,从轴不会急剧动作。
► NX701CPU单元的条件
将主轴及辅轴的任务和从轴的任务分配至不同任务时,从轴将会发生 “主轴指定错误(错误代码: 5462 Hex)”,同步控制指令的输出变量 “Error(错误)”变为TRUE。
1-2 运动控制指令的基本知识
下面对使用CPU单元内置的MC功能模块的运动控制指令编写程序的基本规格及限制事项进行说明。
关于运动控制指令的详情,请参阅 “第 3 章 轴指令”、 “第 4 章 轴组指令”、 “第 5 章 通用指 令”。
运动控制指令的名称
-
- MC功能模块的运动控制指令可以下述编程语言使用。
- • 梯形图(LD)
- • 结构文本(ST
▶ 梯形图(LD)
-
- 将运动控制指令的指令实例配置在梯形图上。
- 可以对每个指令实例设置实例名称。
- 以下是MC_MoveAbsolute(绝对值定位)指令的记述范例。
-
- • 向输入输出变量Axis指定要控制的伺服驱动器等的轴变量名称。
- • 向各输入变量指定目标位置及目标速度等的动作条件。
- • 向各输出变量输出指令的状态及伺服驱动器的状态。
- • 省略各输入参数时,变为各输入变量的初始值。
▶ 结构文本(ST)
-
- 指定指令实例名称。
- 指令变量按照从左上到左下、从右上到右下的顺序记述。
- 以下是MC_MoveAbsolute(绝对值定位)指令的记述范例。
MC_ABS_instance ( Axis := MC_Axis001 , Execute := PTP_Absolute , Position := PTP_Position , Velocity := PTP_Velocity , Acceleration := PTP_Acc , Deceleration := PTP_Dec , Jerk := PTP_Jerk , Direction := _mcNoDirection , BufferMode := _mcAborting , Axis => MC_Axis001 , Done => PTP_Done )
运动控制指令的配置
- 以下对运动控制指令可以配置在哪个任务中、以及配置在程序的哪个位置会出现什么样的动作进行 说明。
▶ 任务种类
-
- 运动控制指令可以在原始恒定周期任务、固定周期任务(执行优先度5)及固定周期任务(执行优先度16)中使 用。若在上述以外的任务中使用运动控制指令,实施编连时会发生异常。
任务种类 可否使用 备注 原始恒定周期任务 可以 • 不指定轴/轴组的通用指令
• 针对分配至原始恒定周期任务的轴/轴组的指令固定周期任务(执行优先度5) 可以 *1 • 不指定轴/轴组的通用指令
• 针对分配至固定周期任务(执行优先度5)的轴/轴组的指令固定周期任务(执行优先度16) 可以 • 不指定轴/轴组的通用指令
• 针对分配至原始恒定周期任务的轴/轴组的指令固定周期任务(执行优先度17) 不可 固定周期任务(执行优先度18) 不可 事件任务(执行优先度 8) 不可 事件任务(执行优先度 48) 不可 *1 仅NX701 CPU单元可使用。
*2 无法在NX1P2 CPU单元中使用。
▶ 功能块定义内
-
-
运动控制指令还可在用户创建的功能块定义内使用。
-
参考
将由多个动作组合而成的工序创建成一个功能块,可以通过程序结构化提高设计效率,改善程 序的识别性。
-
▶ 主站控制区域
-
- 在梯形图程序中,从MC指令(主站控制开始指令)到MCR指令(主站控制结束指令)的区域就是主站控制 区域。
- 在梯形图程序中,从MC指令(主站控制开始指令)到MCR指令(主站控制结束指令)的区域就是主站控制 区域。
运动控制指令配置到主站控制区域时,当MC的输入条件为FALSE时,执行以下动作。
• 从左母线直接输入到运动控制指令的输入变量Enable或Execute的指令作为FALSE动作。
• 内联ST部分如常动作。
• 运动控制指令的输入变量Enable或Execute作为FALSE动作时,输出参数值也如常更新。
► Enable型运动控制指令时
• 配置到主站控制区域的指令与下图右侧的回路等价。
• G0为TRUE时,如常动作。
• G0为FALSE时,Enable输入与FALSE相同。
使用注意事项
Execute型的运动控制指令是在上升沿开始动作,因此不推荐在主站控制区域内使用。 使用时请充分注意动作情况。
参考
• ST程序中,MC指令(主站控制开始指令)的功能无效。所有指令如常动作。
有关MC指令/MCR指令的详情,请参阅 “NJ/NX系列 指令基准手册 基本篇(SBCA-360)”
▶ ST语法指令中
-
- 下面对运动控制指令配置到IF指令、CASE指令、WHILE指令、REPEAT指令等的ST语法指令中时的情况 进行说明。
- 若与各 ST 语法指令的条件表达式的评价结果不一致,则不执行运动控制指令。也不更新指令的输出变量 值。
- 在 Execute 型指令开始执行之后,即使评价结果不一致,也会继续执行指令直到处理完成。这种情况下, 不更新指令的输出变量值。
使用注意事项
条件表达式的评价结果不一致时,由于执行中的Execute型指令的执行状态不明确,因此不建议在ST语法指令中使用。
使用时请充分注意动作情况。
参考
• 要根据条件表达式切换执行的Execute型指令,只需将Execute的输入参数配置到ST语法指令 中。Execute型指令自身配置到ST语法指令外。
关于ST语法指令的详请,请参阅 “NJ/NX系列 指令基准手册 基本篇(SBCA-360)”
▶ 实数(REAL型、LREAL型)的使用
-
- 实数(REAL型、LREAL型)是浮点型数据格式的数据类型。
- 下面对其表现方法和运算处理进行说明。
**►REAL型、LREAL型的数据大小 **
REAL型和LREAL型的数据大小不一样。
REAL型的数据大小为32位,LREAL型为64位。
► 浮点形式的数据格式
浮点形式是指通过符号、指数、尾数表示实数的形式。
某个实数以下式表示时,s的值为符号、e的值为指数、f的值为尾数。
-
REAL型
-
LREAL型
浮点形式的数据格式以IEEE754标准为依据。详见下例。
- (例) REAL型实数,表示为 “-86.625”时
1 符号的设定
由于是负数,因此s = 1。
2 2进制表示
将 “86.625”以2进制表示,为 “1010110.101”。
3 2进制数的标准化
上述值的标准化表示为 “1.010110101×26 ”。
4 指数部的表示
根据前式,e-127 = 6,因此e = 133。 “133”的2进制表示为 “10000101”,这就是指数部的表示。
5 尾数部的表示
“1.010110101”的小数点以后的数值为 “010110101”。 要将该小数点后的数值表示为23位,位数不足的部分需要附加0。以23位表示的数值为f部分。 因此,f = 01011010100000000000000。
- 也就是说,“-86.625”可以以下图表示。
► 有效范围
REAL型、LREAL型的有效范围如下表所示。
数据类型 | -∞ | 负数 | 0 | 正数 | +∞ |
---|---|---|---|---|---|
REAL | -∞ | -3.402823e+38~-1.175495e-38 | 0 | +1.175495e-38~+3.402823e+38 | +∞ |
LREAL | -∞ | -1.79769313486231e+308~ -2.22507385850721e-308 | 0 | +2.22507385850721e-308~ +1.79769313486231e+308 | +∞ |
► 特殊值
“+∞”、“-∞”、“+0”、“-0”、非数被称为特殊值。
非数是指不视为浮点数的数据,不作为数值处理。
“+0”和 “-0”虽然在数学上的含义都为 “0”,但运算处理的内容却不同。
详情将于下文阐述。
特殊值的符号s、指数e、尾数f的值请见下表。
数据类型 | 特殊值 | 符号s | 指数e | 尾数f |
---|---|---|---|---|
REAL | +∞ | 0 | 255 | 0 |
-∞ | 1 | 255 | 0 | |
+0 | 0 | 0 | 0 | |
-0 | 1 | 0 | 0 | |
非数 | - | 255 | 0以外 | |
LREAL | +∞ | 0 | 2047 | 0 |
-∞ | 1 | 2047 | 0 | |
+0 | 0 | 0 | 0 | |
-0 | 1 | 0 | 0 | |
非数 | - | 2047 | 0以外 |
► 非标准化数
浮点形式无法表示接近于 “0”的数值(绝对值非常小的值)。
因此,为扩大接近于 “0”的数值的有效范围而设置了非标准化数值。
比起以通常数据格式表示的数值,非标准化数可以表示绝对值很小的值。
参考
以通常数据格式表示的值叫做标准化数。
-
指数e=0、尾数f≠0的数值被看作非标准化数,其值如下表示。
-
REAL型
- LREAL型
(例) REAL型实数,表示为 “0.75×2-127”时
1符号的设定
由于是正数,因此s=0。
2 2进制表示
将 “0.75”以2进制表示,为 “0.11”。
3 尾数部的计算
根据(0.11)2 ×2-127 = 2-126(f×2-23) ,得出f = (0.11)2 ×222。
4 尾数部的表示
由上式可知:f = 01100000000000000000000。
- 也就是说,“0.75×2-127”可以以下图表示。
- 与标准化数相比,非标准化数的有效位数较少。因此,标准化数的运算结果转换为非标准化数、或者运 算途中的结果转换为非标准化数时,运算结果的有效位数可能达不到标准化数的有效位数。
**► 运算处理 **
浮点形式表示的是近似值,与实际值之间存在误差。值的有效范围也有限制。因此,在运算时应执行以 下处理。
取整
实际值超过尾数的有效位数时,按照以下规则对值进行取整。
• 将浮点形式表现的数值中最接近实际值的值作为运算结果。
• 在浮点形式表现的值中有两个最接近实际值的值时,将尾数最低位位值为“0”的值作为运算结果。 有两个最接近实际值的值时,实际值相当于两个近似值的中间值。
溢出、下溢
实际值的绝对值大于以浮点形式表示的值,叫做溢出。相反,若小于以浮点形式表示的值,则叫做下溢。
• 溢出时,如果实际值的符号为正,则运算结果为 “+∞”。 如果实际值的符号为负,则运算结果为 “-∞”。
• 下溢时,如果实际值的符号为正,则运算结果为 “+0”。 如果实际值的符号为负,则运算结果为 “-0”。
特殊值的运算
特殊值的运算应遵守以下规则。
关于特殊值,请参阅 “特殊值(P.1-15)”。
• “+∞”和 “-∞”的相加结果为非数。
• 符号相同、无穷大之间的减法运算结果为非数。
• “+0”和无穷大、“-0”和无穷大的乘法运算结果为非数。
• “+0”之间的除法运算结果、“-0”之间的除法运算结果、无穷大之间的除法运算结果均为非数。
• “+0”和 “-0”的相加结果为 “+0”。
• “+0”之间的减法运算结果、“-0”之间的减法运算结果为 “+0”。
• 含有非数的四则运算结果为非数。
• 在CMP指令等比较指令中,将 “+0”和 “-0”判断为相等。
• 在比较指令中,如果比较对象包括非数,则始终判断为不相等。
使用注意事项
MC功能模块中,电子齿轮的设定值及运动控制指令的目标位置等使用浮点(LREAL)的变量。因 此,运算结果包含取整误差。
例如,重复执行MC_MoveRelative(相对值定位)指令时,误差会不断累积。
若误差累积造成问题,请将指令单位设置为[pulse],或者指定类似于MC_MoveAbsolute(绝对值 定位)指令的绝对位置。
运动控制指令的同时启动
- 以下对在同一个任务周期内对同一个轴启动多个运动控制指令时的情况进行说明。
• 下图程序中,触点a “ON”时,指令实例[Move1]和[Move2]在同一个任务周期内同时启动。
• 程序中记述的指令实际上按从上往下的顺序启动,因此[Move1]先启动,[Move2]在[Move1]动作完成之 前启动。
• 这相当于运动控制指令的多重启动。在该程序中,[Move2]相对于[Move1]以Blending进行多重启动。
- 关于各运动控制指令的多重启动的详情,请参阅 “NJ/NX系列 CPU单元 用户手册 运动控制篇 (SBCE-363)”。
参考
若如上所示,同时启动MC_SetOverride(超调值设定)指令,则下侧的超调值生效。通过 MC_SetOverride(超调值设定)指令区别使用多个超调值时,建议按以下方式编程。
运动控制指令的在线编辑
- Sysmac Studio的在线编辑功能可以对于运动控制指令执行以下操作。
在线编辑操作 |
---|
删除运动控制指令 |
添加运动控制指令 |
添加运动控制指令的输入、输出、输入输出变量 |
变更运动控制指令的输入、输出、输入输出变量 |
删除运动控制指令的输入、输出、输入输出变量 |
使用注意事项
如果在轴动作中删除MC_Stop(强制停止)指令、MC_GroupStop(轴组强制停止)指令等停止轴动作 的指令,在某些用户程序内容下,轴的动作可能无法停止。
对运动控制指令执行在线编辑时,请确认安全后再使用。
CPU单元的动作模式切换
- NJ/NX系列的CPU单元的动作模式有程序模式和运行模式两种。
- 下面对切换动作模式时的MC功能模块的动作进行说明。
▶ 从运行模式切换到程序模式
-
-
• 会中断执行中的运动控制指令。输出变量CommandAborted(执行中断)保持FALSE,但轴的动作与 CommandAborted(执行中断)为TRUE时相同。
-
• 轴在动作中时,以最大减速速度减速并停止。伺服ON/OFF状态保持不变。
-
• 如果正在通过凸轮表保存指令执行凸轮表保存,则继续进行保存处理。
-
• 如果正在通过凸轮表生成指令执行凸轮表生成,则会继续执行生成处理。
-
• 配置到执行优先度为16的固定周期任务中的运动控制指令,在执行此任务的最终指令后再执行上述 处理。
-
▶ 从程序模式切换到运行模式
-
- • 运动控制指令的输出变量会被清除。
- • 从运行模式变更为程序模式时,轴会减速停止。如果在减速停止过程中返回运行模式,由于运动控 制指令的输出变量会被清除,已执行过的运动控制指令的CommandAborted(执行中断)会保持FALSE 不变。
参考
• 动作模式切换后想要浏览运动控制指令的输出变量时,请分配输出参数属性为保持属性的 变量。 浏览分配的输出参数,便可以查看切换动作模式前的输出变量。
• 即使切换动作模式,伺服ON/OFF的状态仍会保持不变。
相关文章:

1. 运动控制指令概要(omron 机器自动化控制器)
机器自动化控制器——第一章 运动控制指令概要 1-1 运动控制指令PLCopen运动控制用功能块运动控制指令概要▶ 运动控制指令的种类▶ 状态变化▶ 运动控制指令的启动和状态▶ 异常处理▶ 执行运动控制指令时输入变量的变更(指令重启)▶ 通过选择缓存模式执行指令多重启动▶ 通过…...

依赖注入(Dependency Injection)
依赖注入是一种设计原则,主要用于减少类之间的紧耦合度,通过将对象的选择和创建逻辑外包给一个容器来实现动态注入。 适用场景: 当需要将对象的生命周期管理和依赖关系外包给外部容器时(如Spring DI容器)。当应用程序…...

PHP环境搭建
PHP环境搭建教程 PHP 是一种流行的后端开发语言,用于构建动态网站和 Web 应用程序。在开发和部署 PHP 项目之前,您需要设置一个适当的 PHP 环境。本教程将帮助您在不同操作系统上快速搭建 PHP 环境。 1. 环境准备 1.1 操作系统 本教程将介绍在以下操作…...

小叶OJ 2716: 过河问题 ← 贪心算法
【题目来源】http://xiaoye.ac.cn/problem.php?id2716【题目描述】 有 n 个人要渡河,但只有一条小船,这条小船一次只能坐下最多两个人,并且只有一副船桨。每个人划船的速度不一样,如果两个人一起上船,由于重量变大&am…...

LeetCode509:斐波那契数列
代码如下 class Solution { public:int fib(int n) {//这个是为了特殊n,当n 0时, 当 n 1时。if(n 0) return 0;if(n 1) return 1;//第一次开dp专题,连dp数组都忘记定义了。只写了下面,哭vector<int> dp(n 1, 0);dp[…...

5G前传-介绍
1. 引用 知识分享系列一:5G基础知识-CSDN博客 5G前传的最新进展-CSDN博客 灰光和彩光_通信行业5G招标系列点评之二:一文读懂5G前传-光纤、灰光、彩光、CWDM、LWDM、MWDM...-CSDN博客 术语: 英文缩写描述BBU:Building Baseba…...

【Python机器学习】循环神经网络(RNN)——超参数
几乎所有模型都可以根据数据和样本进行调整,它们都有各自的优势和相应的利弊权衡方式。寻找最优超参数集通常是一个棘手的问题,但是人类的直觉和经验可以为我们提供解决问题的方法。比如之前的例子: #设置任意输入序列的最大长度 maxlen100 …...

【Android 13源码分析】WindowContainer窗口层级-1-初识窗口层级树
在安卓源码的设计中,将将屏幕分为了37层,不同的窗口将在不同的层级中显示。 对这一块的概念以及相关源码做了详细分析,整理出以下几篇。 【Android 13源码分析】WindowContainer窗口层级-1-初识窗口层级树 【Android 13源码分析】WindowCon…...

Node.js的学习2——内置模块(一)
Node.js的内置模块 module模块global全局变量Console控制台Errors错误模块捕获异常异步方法通过回调函数传递异常事件触发器对象异常捕获 module模块 使用module模块可以查看Node.js所有的内置模块、在所有模块中都可以使用的全局变量、程序在运行过程中可能会出现的四类错误。…...

信息安全工程师(5)域名与域名解析
一、域名 1. 定义与功能 域名(Domain Name)是互联网上用于标识网站或服务器地址的名称,由一串由点分隔的字符组成,如“example.com”。域名的主要功能是提供一种便于记忆和输入的地址形式,以代替难以记忆的IP地址。域名…...

idear导入他人项目如何快速运行
最近idear经常导入别人的项目,结果永远在加载依赖项。网上查了一堆资料,什么jdk问题,环境变量问题,maven仓库路径问题,总之就是没啥用。那有没有什么简单粗暴的办法,能够导入项目后快速运行呢。 解决方法&a…...

直流无刷电机霍尔线序自学习解释
直流无刷电机霍尔线序自学习 步骤详解 1. 初始连接 连接电机的三相线:A、B、C。连接霍尔传感器线:HA、HB、HC。 2. 输入电压组合与霍尔信号记录 电机的电压输入组合和霍尔信号记录是电机控制系统中至关重要的一部分,它们决定了电机的运转…...

C++学习笔记(26)
七 、显示字符串中的字符 从界面上输入一个字符串(C 风格),把字符串中的每个字符显示出来,如果输入的是"abc",要求: 1)正序显示:a b c 2)逆序显示:…...

安卓14剖析SystemUI的ShadeLogger/LogBuffer日志动态控制输出dumpsy机制
背景: 看SystemUI的锁屏相关代码时候发现SystemUI有一个日志打印相关的方法调用,相比于常规的Log.i直接可以logcat查看方式还是比较新颖。 具体日志打印代码如下: 下面就来介绍一下这个ShadeLogger到底是如何打印的。 分析源码࿱…...

华为CNA VRM搭建(使用vmware worfstartion搭建)
创建虚拟机: 自定义→高级 选择硬件兼容性:默认安装版本,如果未来想要将此虚拟机安装到其他电脑,其他电脑版本过低,此时可以向下兼容,这里我们默认版本 稍后安装操作系统: CNA采用Euler OS系统…...

【WRF工具】WRF Domain Wizard第二期:使用教程
【WRF工具】WRF Domain Wizard第二期:使用教程 WRF Domain Wizard使用教程1)Wizard Option:新建区域/打开已有区域2)New Domain:新建区域3)Horizontal Editor:水平编辑器4)Namelist.…...

智能摄像头MP4格式化恢复方法
如果说生孩子扎堆,那很显然最近智能摄像头多碎片的恢复也扎堆了,这次恢复的是一个不知名的小品牌。其采用了mp4视频文件方案,不过这个案例的特殊之处在于其感染了病毒且不只一次,我们来看看这个小品牌的智能恢复头格式化的恢复方法…...

【C++】unordered系列
前言: 在C11及以后的标准中,unordered容器是标准模板库(STL)的一部分,提供了高效的数据结构选项,适用于需要快速查找和插入操作的场景。 unordered通常与关联容器一起使用,特别是unordered_map和…...

Cobbler 搭建方法
统信服务器操作系统行业版V20-1000c【Cobbler 搭建】手册 统信服务器操作系统行业版 V20版本上Cobbler 搭建方法 文章目录 功能概述一、使用范围二、cobbler工作流程1. Server 端2. Client 端三、 环境准备1. 测试环境告知,以提供配置时参考:2. 关闭防火墙、selinux:3. 注意…...

从边缘到云端,合宙DTURTU打造无缝物联网解决方案
随着物联网(IoT)技术的飞速发展,万物互联的时代已经到来, 如何高效、稳定地连接边缘设备与云端平台,实现数据的实时采集、传输与处理,成为了推动物联网应用落地的关键。 DTU(数据传输单元&…...

【Android Studio】API 29(即Android 10)或更高版本,在程序启动时检查相机权限,并在未获取该权限时请求它
文章目录 1. 在AndroidManifest.xml文件中,声明相机权限:2. 在你的Activity中(例如MainActivity)测试 1. 在AndroidManifest.xml文件中,声明相机权限: <uses-feature android:name"android.hardwar…...

【裸机装机系列】3.kali(ubuntu)-更新sources.list并重启
当装机并重启计算机后,暂时还不能使用,需要更新源并下载软件 1、更新软件源 1> 切换root使用命令 sudo su root 进入界面后,是你自己的账户,不是root账户,这里的操作是需要进入root账户进行操作的,否…...

text2sql(NL2Sql)综述《The Dawn of Natural Language to SQL: Are We Fully Ready?》
《The Dawn of Natural Language to SQL: Are We Fully Ready?》(github)出自2024年6月的NL2SQL(Natural language to SQL )综述论文。这篇论文尝试回答如下三个问题: 问题1:NL2SQL的现状是什么?(Q1:Where Are we Now?) 论文图1总结了近20年NL2SQL方法…...

【滑动窗口】一题讲透滑动窗口!
🚀个人主页:一颗小谷粒 🚀所属专栏:力扣刷题 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 1.1 题目要求 1.2 算法图解分析 1.3 代码实现 1.4 时间复杂度分析 1.5 算法思想总结 1.1 题目要…...

嵌入式通信原理—SPI总线通信原理与应用
文章目录 SPI 简介基本原理工作模式特点 SPI寻址方式1. 片选(Chip Select, CS)2. 多从设备通信3. 菊花链(Daisy-Chain)模式4. 地址寄存器(应用层) SPI通信过程时钟信号生成(SCLK)数据…...

基于web的 BBS论坛管理系统设计与实现
博主介绍:专注于Java .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟 我的博客空间发布了1000毕设题目 方便大家学习使用 感兴趣的可以…...

【Scala入门学习】Scala的方法和函数
1. 方法 在scala中的操作符都被当成方法存在,比如说、-、*、/ 12就是1.(2)的调用, 2.0 是doule类型,强调用Int类型的写法为1.(2:Int) 1.1 方法的声明和使用 定义方法的语法: def 方法名([变量:变量类型ÿ…...

【JVM】概述
前言 Java的技术体系主要由支撑Java程序运行的虚拟机、提供各开发领域接口支持的Java类库、Java编程语言及许许多多的第三方Java框架(如Spring、MyBatis等)构成。在国内,有关Java类库API、Java语言语法及第三方框架的技术资料和书籍非常丰富&…...

鸿蒙开发笔记_电商严选02_登录页面跳转到我的页面、并传值
鸿蒙开发笔记整理,方便以后查阅! 由于上班较忙,只能抽空闲暇时间,快速整理更新中。。。 登录页面跳转到我的页面、并传值 效果图 我的设置页面 /*** 我的设置页面*/ import CommonConstants from ./CommonConstants import ItemData from ./ItemData import DataModel fr…...

clip论文阅读(Learning Transferable Visual Models From Natural Language Supervision)
目录 摘要训练pre-train model的过程将pre-train model应用于下游任务应用(待更新) 论文/项目地址:https://github.com/OpenAI/CLIP 提供了clip的pre-trained model的权重,也可安装使用pre-trained model 摘要 使用标签标注的图…...