总线运动控制相关参数

A)Ethercat主站:

功能块IoDrvEtherCAT,实例直接用主站名称。

类别 参数 注释
输入 xRestart 在上升沿,所有主站会被重启。所有配置参数会被重新加载。
xStopBus 当此参数为“TRUE”时,通信将停止,不会发送更多的EtherCAT报文。对大部分的设备而言,之后重启是有必要的,因为他们已进入错误状态。
输出 xConfigFinished 如果这个参数为“TRUE”,所有配置参数的传送已经正确完成。通讯正在运行。
xDistributedClockInSync 如果使用了分布时钟,PLC将和第一个激活分布时钟设置的EtherCAT从站同步。只要同步成功完成,输出为TRUE。这个信号可用于同步化模式下,在PLC启动之前启动SoftMotion功能块,因为否则的话可能会发生位置跳跃。在PLC启动时,输出是FALSE,几秒钟之后它将变为TRUE。如果由于任何故障而失去同步性,则输出重置为FALSE.
xError 如果EtherCAT堆栈启动时探测到错误,或者在操作时与从站的通讯被中断,则该输出为TRUE,因为再收不到任何消息(比如由于连线中断)。可通过错误列表或错误信息来了解错误原因。因此,“Ethercat主站. 最新消息.Ethercat主站”是主站的实例
属性 AutoSetOperational 如果此属性被设置为TRUE,一旦通讯中止,主站总是会尝试重启从站。
ConfigRead 若此属性返回TRUE,表明已完成配置的读取,用户可以编辑设置了。如为了实现自定义SDOs的添加。
DCInSyncWindow 标志XDistributedClockInSync的时间段。抖动必须在此范围内部以获得标志XDistributedClockInSync的持久TRUE信号。
FrameAtTaskStart 如果FrameAtTaskStart被设为TRUE,则给从站的帧内容将在任务开始被发送,以保证最小的抖动。此命令用来得到伺服驱动器的平滑运动。如果此标志位被设为TRUE,则输出缓冲帧被写入下一个循环中。
LastInstance 关联主站列表的指针->上一个主站
LastMessage 此属性与EtherCAT栈最新消息一起返回一个字符串,如果成功完成启动,则应该返回‘完成所有从站’。字符串的作用,同在线模式下EtherCAT主站设备编辑器中显示的诊断信息一样。
NextInstance 关联主站列表的指针->下一个主站
NumberActiveSlaves Illegal nested table : 此属性返回实际连接从站的数量。如果StartConfigWithLessDevice设为TRUE,则可以确定实际设备的数量
StartConfigWithLessDevice 此属性可以用来影响堆栈启动行为。通常EtherCAT栈会马上停止,只要遇到例如项目中配置了五个伺服控制器,但只连接了三个的情况。但是如果在第一个周期中StartConfigWithLessDevice设为TRUE,则堆栈仍然会尝试开始。因此,如果可能情况下建立了一个10个伺服控制器的通用配置,但使连接控制器的实际数量可变,并认定会检查每一个从站的供应商ID和产品IP。则如果发现一个不匹配,堆栈启动都会停止。
FirstSlave 主站下第一个从站的指针
IoDrvReadInputs_Count EtherCAT主站读输入数据次数
IoDrvWriteOutputs_Count EtherCAT主站写输出数据次数
。。。。。。
注意:使用方法,如主站名称为Ethercat,则为Ethercat.xError等

B)Ethercat从站:

功能块ETCslave,实例直接用对应从站名称。

类别 参数 注释
输入 xSetoperational 将从站设置为OP模式,上升沿有效
输出 wState 状态状态寄存器
属性 LastMessage 如果收到消息,则将此信息存储于从站内部。基于这一属性可在应用中读取信息。另外还添加了一个日志消息。
方法 m _prNextSlave 指向下一个从站的指针
m _iactualSlaveNo 从站顺序
m _wAtuoIncAddr 自动配置地址
m _uiPhysSlaveAddr EtherCAT地址
m _uiAliasSlaveAddr 设置别名
m_uiActualAliasSlaveAddr 设备实际别名
m_bSlaveStatusValid 从站网络连接成功
m _bSlaveEnable 从站禁用标志,默认为ON使用
属性 SetOpMode 设置从站状态;
。。。。。。
PS:使用方法,如从站名称为_Is620N,则为_Is620N. wState等。

C)402轴:

功能块Axis_Ref_SM3,实例直接用对应从站名称。

类别 参数 注释
nAxisState 轴状态
bError 轴故障
wCommunicationState 轴通讯状态
fActPostion 伺服当前位置-浮点数
diActPostion 伺服当前位置-长整型
fActVelocity 伺服当前速度-浮点数
diActVelocity 伺服当前速度-长整型
In.wStatusWord 状态字
Out.wControlWord 控制字
。。。。。。

NJ、AM600轴变量参照表

No. NJ参数名称 AM600参数名称 备注
_MC_AX[0] SM_Drive_GenericDSP402 为默认值用户可修改,
_MC_AX[0].Status 轴状态 AM600后面都用Axis0代替轴变量
_MC_AX[0].Status.Ready Axis0.nAxisState=0 AM600 通过MC_ReadStatus指令也可以获取对应状态的bool变量
_MC_AX[0].Status.Disabled Axis0.nAxisState=0
_MC_AX[0].Status.Standstill Axis0.nAxisState=3
_MC_AX[0].Status. Discrete Axis0.nAxisState=4
_MC_AX[0].Status. Continuous Axis0.nAxisState=5
_MC_AX[0].Status. Synchronized Axis0.nAxisState=6
_MC_AX[0]. Homing Axis0.nAxisState=7
_MC_AX[0]. Stopping Axis0.nAxisState=2
_MC_AX[0]. ErrorStop Axis0.nAxisState=1
_MC_AX[0]. Coordinated /
_MC_AX[0].Details 轴控制状态
_MC_AX[0].Details.Idle Axis0.bMovedInThisCyde=False bMovedInThisCyde为True/False表示着两种状态
_MC_AX[0].Details.InPosWaiting Axis0.bMovedInThisCyde=True
_MC_AX[0].Details.Homed Axis0 .in.wStatusWord.15
_MC_AX[0].Details.InHome /
_MC_AX[0].Details.VelLimit /
_MC_AX[0].Dir 指令方向状态 nDirection值判断轴状态
_MC_AX[0].Dir.Posi Axis0.nDirection= 1
_MC_AX[0].Dir.Nega Axis0.nDirection= -1
_MC_AX[0].DrvStatus 伺服驱动器状态
_MC_Axis0.DrvStatus.ServoOn Axis0 .in.wStatusWord.2
_MC_Axis0.DrvStatus. Ready Axis0 .in.wStatusWord.6
_MC_Axis0.DrvStatus. MainPower Axis0 .in.wStatusWord.4
_MC_Axis0.DrvStatus. P_OT Axis0 .in.dwDigtialInputs.0
_MC_Axis0.DrvStatus. N_OT Axis0 .in.dwDigtialInputs.1
_MC_Axis0.DrvStatus. HomeSw /
_MC_Axis0.DrvStatus. Home Axis0 .in.dwDigtialInputs.2
_MC_Axis0.DrvStatus. ImdStop Axis0 .in.wStatusWord.5
_MC_Axis0.DrvStatus. Latch1 / 通过状态字60B9判断
_MC_Axis0.DrvStatus. Latch2 /
_MC_Axis0.DrvStatus. DrvAlarm Axis0 .in.wStatusWord.7 =TRUE,伺服反馈告警
_MC_Axis0.DrvStatus. DrvWarning Axis0 .in.wStatusWord.3 =TRUE,伺服反馈故障
_MC_Axis0.DrvStatus. ILA Axis0 .in.wStatusWord.11
_MC_Axis0.DrvStatus. CSP Axis0 .in.byModesOfOperationDisplay=8 byModesOfOperationDisplay值判断伺服运行模式
_MC_Axis0.DrvStatus. CSV Axis0 .in.byModesOfOperationDisplay=9
_MC_Axis0.DrvStatus. CST Axis0 .in.byModesOfOperationDisplay=10
_MC_AX[0].Cmd 轴设置值
_MC_AX[0].Cmd.Pos Axis0.fSetPosition
_MC_AX[0].Cmd.Vel Axis0.fSetVelocity
_MC_AX[0].Cmd.AccDec Axis0.fSetAcceleration
_MC_AX[0].Cmd.Jerk Axis0.fSetJerk
_MC_AX[0].Cmd.Trq Axis0.fSetTorque
_MC_AX[0].Act 轴当前值
_MC_AX[0].Act.Pos Axis0.fActPosition
_MC_AX[0].Act.Vel Axis0.fActVelocity
_MC_AX[0].Act.Trq Axis0.fActTorque
_MC_AX[0].MFaultLvl 轴轻度故障
_MC_Axis0.MFaultLvl.Active Axis0.bError 未分类fbeFBError是一个数组可以保存最新的6组数据。
_MC_Axis0.MFaultLvl.Code Axis0.fbeFBError
_MC_AX[0].Obsr 轴监控信息
_MC_Axis0.Obsr.Active Axis0.bError
_MC_Axis0. Obsr.Code Axis0.fbeFBError
_MC_AX[0].Cfg 轴基本设定
_MC_AX[0].Cfg.AxNo / 如果需要变址方式控制多个轴可以建一个指向轴类型指针的数组。
_MC_AX[0].Cfg.AxEnable Axis0.Enable
_MC_AX[0].Cfg.AxType Axis0.bVirtual True表示虚轴
_MC_AX[0].Cfg.NodeAddress / 网络配置时已添加在对应从站下
_MC_AX[0].Scale 转换单位
_MC_AX[0].Scale.Num Axis0.iRatioTechUnitsNum
_MC_AX[0].Scale.Den Axis0.dwRatioTechUnitsDenom
_MC_AX[0].Scale.Units / 单位由用户确定

轴组:

AM600无轴组功能,用户在使用时自由组合。

Copyright © www.yanjuntech.cn 2018-2025 all right reserved,powered by Gitbook该文件修订时间: 2018-10-21 17:57:06

results matching ""

    No results matching ""