S71200 运动控制 回原点(2)

合集下载

[收藏]一文让你读懂S7-1200定位控制(二)

[收藏]一文让你读懂S7-1200定位控制(二)

[收藏]一文让你读懂S7-1200定位控制(二)MC_MoveAbsolute绝对位置指令主要是使轴以某一速度进行绝对位置定位。

在使能绝对位置指令之前,轴必须回原点。

因此MC_MoveAbsolute指令之前必须有MC_Home指令。

Execute:MC_MoveAbsolute 指令启动位,用上升沿触发;也可以用触点触发Position:绝对目标位置值;即相对于原点的位置Velocity:绝对运动的速度;启动/停止速度<=Velocity<=最大速度Done :达到绝对目标位置时,该位为1 ,为1 时间的长短取决于Execute管脚,若该管脚为脉冲激活,则该位为1的时间就是一个扫描周期的时间,若Execute一直为1,则该位的时间也一直为1Direction:轴的运行方向数据类型为INT 各个数字表示的意义如下:0速度的符号(“Velocity”参数)用于确定运动的方向。

1正方向(从正方向逼近目标位置)2负方向(从负方向逼近目标位置)3最短距离(工艺将选择从当前位置开始,到目标位置的最短距离)CommandAborted:命令在执行过程中被另一命令中止Busy:标记MC_MoveAbsolute指令是否处于忙状态Error:标记MC_MoveAbsolute指令是否产生错误,如有错误时,Error=1ErrorID:当MC_MoveAbsolute指令产生错误时,用ErrorID表示错误号(具体错误请查看指令帮助信息)ErrorInfo:当MC_MoveAbsolute指令产生错误时,用 ErrorInfo表示错误信息 (具体错误请查看指令帮助信息)ENO:使能输出MC_MoveRelative相对距离指令使轴以某一速度在轴当前位置的基础上移动一个相对距离。

不需要轴执行回原点命令。

Distance:相对对轴当前位置移动的距离,该值通过正/负数值来表示距离和方向。

Velocity:相对运动的速度,启动/停止速度<=Velocity<=最大速度Done :达到绝对目标位置时,该位为1 ,为1 时间的长短取决于Execute管脚,若该管脚为脉冲激活,则该位为1的时间就是一个扫描周期的时间,若Execute一直为1,则该位的时间也一直为1其他管脚同MC_MoveAbsolute指令,这里不再赘述。

西门子S7-1200复位为出厂设置

西门子S7-1200复位为出厂设置

西门子S71200复位为出厂设置可在以下情形下将S7-1200 复位为原始出厂设置:
● CPU 有在线连接。

●CPU 处于STOP 模式。

说明
如果CPU 处于RUN模式,而用户要启动复位操作,则可在接受确认提示后将其切换到STOP 模式。

步骤
要将CPU 复位为出厂设置,请按以下步骤操作:
1.打开CPU 的“在线和诊断”(Online and Diagnostics) 视图。

2.从“功能”(Functions) 文件夹中选择“复位为出厂设置”(Reset to factory settings)。

3. 如果要保留IP 地址,请选中“保留IP 地址”(Retain IP address) 复选框;如果要删除IP地址,则选中“删除IP 地址”(Delete IP address) 复选框。

4. 单击“复位”(Reset) 按钮。

5. 单击“确定”(OK) 接受确认提示。

结果
模块会根据需要切换到STOP 模式,并复位为出厂设置。

CPU 执行以下操作:
如果选择了“保留 IP 地址”(Retain IP address),CPU 将把 IP 地址、子网掩码和路由器地址(如果使用)设为硬件配置中的设置,除非已通过用户程序或其它工具修改了这些值,这种情况下 CPU 将恢复修改后的值。

S7-1200运动控制

S7-1200运动控制

S7-1200运动控制S7-1200运动控制根据连接驱动方式不同,分成三种控制方式,如下图所示1、PROFIdrive:S7-1200 PLC通过基于PROFIBUS/PROFINET的PROFIdrive方式与支持PROFIdrive的驱动器连接,进行运动控制。

2、PTO:S7-1200 PLC通过发送PTO脉冲的方式控制驱动器,可以是脉冲+方向、A/B正交、也可以是正/反脉冲的方式。

3、模拟量:S7-1200 PLC通过输出模拟量来控制驱动器。

对于固件V4.0及其以下的S7-1200CPU来说,运动控制功能只有PTO这一种方式。

目前为止,1个S7-1200 PLC最多可以控制4个PTO轴,该数值不能扩展。

S7-1200 运动控制—PROFI drive控制方式PROFI drive 是通过PROFIBUS DP和PROFINET IO 连接驱动装置和编码器的标准化驱动技术配置文件。

支持PROFI drive 配置文件的驱动装置都可根据PROFI drive 标准进行连接。

控制器和驱动装置/编码器之间通过各种PROFI drive 消息帧进行通信。

每个消息帧都有一个标准结构。

可根据具体应用,选择相应的消息帧。

通过PROFI drive 消息帧,可传输控制字、状态字、设定值和实际值。

『注意』固件V4.1开始的S7-1200CPU才具有PROFI drive的控制方式。

这种控制方式可以实现闭环控制。

S7-1200 运动控制--PTO控制方式PTO的控制方式是目前为止所有版本的S7-1200 CPU都有的控制方式,该控制方式由CPU向轴驱动器发送高速脉冲信号(以及方向信号)来控制轴的运行。

这种控制方式是开环控制。

S7-1200 运动控制--模拟量控制方式固件V4.1开始的S7-1200 PLC的另外一种运动控制方式是模拟量控制方式。

以CPU1215C为例,本机集成了2个AO点,如果用户只需要1或2轴的控制,则不需要扩展模拟量模块。

S7-1200控制伺服V90 PN 工艺对象(看完秒懂)

S7-1200控制伺服V90 PN 工艺对象(看完秒懂)

S7-1200控制伺服V90 PN 工艺对象(看完秒懂)1.使用声明本文仅供参考,CPU版本、类型可能与用户实际使用不同,用户可能需要先对本文做修改和调整,才能将其用。

2.版本要求首先博图版本是V14 SP1,软件最好是V14 SP1之类的或更高版本。

3.实现功能通过基于PROFINET的PROFIdrive方式与V90 PN连接,工艺对象组态。

轴的点动,轴按指定速度运行,轴执行相对定位,轴执行绝对定位,轴停止,读写轴的参数。

4.组态4.1.1添加V90驱动首先在硬件目录下其他现场设备》PROFINET IO》SINAMICS》SINAMICS V90 PN V1.0;如下图:添加V90驱动4.1.2添加报文在设备视图对V90 PN选择报文,本文选择标准报文3,用户可以根据自己需要选择适合自己调试的报文,或自定义报文,如下图:添加报文4.1.3工艺组态本文选择定位轴,如下图:基本参数》常规基本参数》驱动器驱动器基本参数》编码器编码器5.程序编写5.1.1.MC_Power运动控制指令可启用或禁用轴。

MC_Power 指令必须在程序里一直调用,并保证MC_Power指令在其他Motion Control指令的前面调用。

StartMode: 0:速度控制; 1:位置控制。

StopMode= 0:紧急停止,按照轴工艺对象参数中的“急停”速度停止轴。

StopMode=1:立即停止,PLC立即停止发脉冲。

StopMode=2:带有加速度变化率控制的紧急停止:如果禁用轴的请求处于待决状态,则轴将以组态的急停减速度进行制动。

如果激活了加速度变化率控制,会将已组态的加速度变化率考虑在内。

轴在变为静止状态后被禁用。

MC_Power5.1.2.MC_Home运动控制指令使轴归位,设置参考点。

使用MC_Home运动控制指令可将轴坐标与实际物理驱动器位置匹配。

轴的绝对定位需要回原点。

可执行以下类型的回原点:● 绝对式直接归位(Mode = 0)新的轴位置为参数“Position”位置的值。

S7-1200第29讲:S7-1200的简单运动控制讲解3

S7-1200第29讲:S7-1200的简单运动控制讲解3

MC_Power(发布/阻止轴)指令:
MC_Power 运动控制指令可启用或禁用轴。在启用或禁用轴之前,应确保 以下条件: • 已正确组态工艺对象。• 没有未决的启用-禁止错误。运动控制任务无法中 止 MC_Power 的执行。禁用轴(输入参数 Enable =FALSE)将中止相关工 艺对象的所有运动控制任务。
谢谢
MC_MoveAbsolute(绝对定位轴)指令:
使用 MC_MoveAbsolute指令可启动轴到绝对位置的定位运动。为了使 用 MC_MoveAbsolute指令,必须先启用轴,同时必须使其回原点。
MC_MoveRelative(相对定位轴)指令:
使用 MC_MoveRelative指令可启动相对于起始位置的定位运动。为了 使用 MC_MoveRelative指令,必须先启用轴。
博途1200课程--第29讲
--------------S7-1200的简单运动控制讲解3
1200运动控制流程:
1. 添加工艺对象: – 在项目树中,展开节点“工艺对象”(TechnologyObjects),然后选择 “添加新对象”(Add new object)。 – 选择“轴”(Axis) 图标(必要时可以重命名),然后单击“确定”(OK) 打开轴对象的组态编辑器。 – 显示“基本参数”(Basic parameters) 下的“为轴控制选择 PTO”(Select PTO for AxisControl) 属性,然后选择所需脉冲。
2. 对应用进行编程: 将 MC_Power 指令插入代码块。 – 对于“轴”输入,请选择已创建并组态的轴工艺对象。 – 将 Enable 输入设置为 TRUE 可以使其它运动指令起作用。 – 将 Enable 输入设置为 FALSE 会取消其它运动指令。 (每个轴只包括一个 MC_Power 指令。)

西门子 STEP 7 TIA Portal V16中S7-1200 Motion Control V

西门子 STEP 7 TIA Portal V16中S7-1200 Motion Control V

SIMATICSTEP 7TIA Portal V16中S7-1200 Motion Control V6.0升级为V7.0功能手册Siemens AG Digital Industries Postfach 48 4890026 NÜRNBERG A5E03790555-AGⓅ 10/2019 本公司保留更改的权利Copyright © Siemens AG 2011 - 2019. 保留所有权利法律资讯警告提示系统为了您的人身安全以及避免财产损失,必须注意本手册中的提示。

人身安全的提示用一个警告三角表示,仅与财产损失有关的提示不带警告三角。

警告提示根据危险等级由高到低如下表示。

危险表示如果不采取相应的小心措施,将会导致死亡或者严重的人身伤害。

警告表示如果不采取相应的小心措施,可能导致死亡或者严重的人身伤害。

小心表示如果不采取相应的小心措施,可能导致轻微的人身伤害。

注意表示如果不采取相应的小心措施,可能导致财产损失。

当出现多个危险等级的情况下,每次总是使用最高等级的警告提示。

如果在某个警告提示中带有警告可能导致人身伤害的警告三角,则可能在该警告提示中另外还附带有可能导致财产损失的警告。

合格的专业人员本文件所属的产品/系统只允许由符合各项工作要求的合格人员进行操作。

其操作必须遵照各自附带的文件说明,特别是其中的安全及警告提示。

由于具备相关培训及经验,合格人员可以察觉本产品/系统的风险,并避免可能的危险。

按规定使用 Siemens 产品请注意下列说明:警告Siemens 产品只允许用于目录和相关技术文件中规定的使用情况。

如果要使用其他公司的产品和组件,必须得到 Siemens 推荐和允许。

正确的运输、储存、组装、装配、安装、调试、操作和维护是产品安全、正常运行的前提。

必须保证允许的环境条件。

必须注意相关文件中的提示。

商标所有带有标记符号 ® 的都是 Siemens AG 的注册商标。

运动控制器“原点返回”的14种模式及参数说明

运动控制器“原点返回”的14种模式及参数说明

运动控制器“原点返回”的14种模式及参数说明第一部分运动控制器“原点返回”的14种模式1.DOG1型------以DOG开关从ON—OFF 后的第1个零点(Z相)信号作为“原点”图1. DOG1型原点返回模式对“原点返回”模式各名词的说明(参见图1)①“原点返回”---又称为“回原点模式”,“回零模式”,“原点回归模式”,本文统一为“原点返回模式”。

②“原点返回方向”---本文简称“正向”。

与该方向相反简称为“反向”。

③近点DOG开关---也称为“原点开关”,“看门狗开关”。

本文简称为“DOG开关”(“DOG开关”为常OFF接法)④“原点返回速度”------本文简称为“高速”⑤“爬行速度”—也称为“蠕动速度”。

本文简称为“爬行速度”⑥零点信号-------本文简称为“Z相信号”。

(零点信号就是Z向信号,当编码器安装固定后,就是固定位置(对于电机一转之内的位置而言)⑦近点DOG ON后的移动量------本文简称为“T行程”⑧减速停止点------本文简称为“A点”1.1 “原点返回”的动作顺序①“原点返回”启动,以“高速”运行;②碰上DOG=ON,从“高速”降低到“爬行速度”;③当DOG从ON---OFF,从“爬行速度”减速停止,速度降为零。

又从“零速”上升到“爬行速度”,当检测到第1个“Z相信号”时,该“Z相信号”位置就是“原点”。

同时该轴停止在原点位置上。

(从“减速停止点A”到“Z相)信号”点是定位过程,所以能够精确定位)1.2 “原点返回”不能正常执行的原因(1)从“原点返回启动位置”到“减速停止点A”这一区间内如果没有经过“Z相信号”点一次,(Z相通过信号M2406+20N),系统会产生报警(ZCT)并减速停止。

(ZCT)(错误代码120). “原点返回”不能正常执行。

(这种情况是“原点返回启动位置”到“DOG”距离很短。

走完DOG的行程还没经过“Z相信号”,系统无法识别“Z相信号”位置。

运动控制卡回原点示意图及其代码

运动控制卡回原点示意图及其代码

int Check_OriginSignal(int cardno,int axis,int mode) {if (mode==0){if(!STOP0_High[axis-1]){int bit[]={2,8,14,20};//stop0return read_bit(cardno,bit[axis-1])==0?1:0;}else{int bit[]={2,8,14,20};//stop0return read_bit(cardno,bit[axis-1])==1?1:0;}}else{if(!STOP1_High[axis-1]){int bit[]={3,9,15,21};//stop1return read_bit(cardno,bit[axis-1])==0?1:0;}else{int bit[]={3,9,15,21};//stop1return read_bit(cardno,bit[axis-1])==1?1:0;}}}int Check_LimitSignal(int cardno,int axis,int mode){if(!LMTLevel_High[axis-1]){//低电平有效if (mode){int bit[]={0,6,12,18};//LMT-return read_bit(cardno,bit[axis-1])==0?1:0;}else{int bit[]={1,7,13,19};//LMT+return read_bit(cardno,bit[axis-1])==0?1:0;}}else{//高电平有效if (mode){int bit[]={0,6,12,18};//LMT-return read_bit(cardno,bit[axis-1])==1?1:0;}else{int bit[]={1,7,13,19};//LMT+return read_bit(cardno,bit[axis-1])==1?1:0;}}}/**************************单轴回原点********************** 功能:执行单轴回原点运动参数:cardno 卡号axis 轴号(1-4)backDir 回原点方向0:正向1:负向logical0 回原点stop0设置0:低电平有效1:高电平有效logical1 回原点stop1设置0:低电平有效1:高电平有效-1:无效(不搜索Z相)homeStartV 回原点启始速度,取值范围:0-2MhomeSpeed 回原点驱动速度,取值范围:0-2MhomeAcc 回原点加速度,取值范围:0-64000searchRange 原点范围(不宜过大)searchSpeed stop0搜索速度(不宜过高)phaseSpeed Z相搜索速度(不宜过高)pulseUnit 每转脉冲返回值0:回原点成功; -1:参数错误; -2:回原点失败,(碰到限位或原点范围过小);1:回原点被中止说明:(1) 回原点分为四大步:第一步:快速接近stop0(logical0原点设置),找到stop0;第二步:慢速反向离开stop0,反向移动指定原点范围脉冲数;第三步:再次慢速接近stop0;第四步:慢速接近stop1(logical1编码器Z相).(2) 第四步可以选择是否执行,通过logical1来选择.(3) 若需多轴回原点,必须等待上一轴回原点结束后,才能执行下一轴的回原点动作.******************************************************************/int_stdcall home1(int cardno,int axis,int backDir,int logical0 ,int logical1 ,long homeStartV,long homeSpeed,long homeAcc,long searchRange,long searchSpeed,long phaseSpeed ,long pulseUnit){static MSG msg;static int nCount =0;int workstep=0,status=-1,value=-1; //步骤;驱动状态int StopSignal=0; //停止信号long longPulse =2147483647; //长脉冲,4字节上限Stop_Flag[axis-1]=0; //标记该轴开始运动if (cardno<0 || cardno >=max_card_number )return -1;//卡号判断if(axis<0||axis>4) return -1; //轴号判断if(backDir<0||backDir>1) return -1; //方向判断if(logical0 !=0 && logical0 !=1 ) return -1; //STOP0方式判断if(logical1 !=0 && logical1 !=1 && logical1 !=-1) return -1; //STOP1方式判断//搜索范围,搜索速度,每转脉冲判断if(searchRange<0||searchSpeed<0||pulseUnit<0)return -1;//设定启动,驱动,加速度if (homeStartV>=homeSpeed){homeStartV=homeSpeed;set_startv(cardno,axis,homeStartV);set_speed(cardno,axis,homeSpeed);}else{set_startv(cardno,axis,homeStartV);set_speed(cardno,axis,homeSpeed);set_acc(cardno,axis,homeAcc);}set_stop0_mode(cardno,axis,1,logical0);//设定stop0有效电平Start_Run(axis);while (TRUE){switch(workstep){case0://发送长脉冲/////////if(Check_OriginSignal(cardno,axis,0)){//已经在原点,不发送长脉冲直接反向退出StopSignal=1;//由原点引起workstep=2;break;}//////////pmove(cardno,axis,backDir?-longPulse:longPulse);workstep++;break;case1://分析是否碰到原点或限位if (backDir==1 && StopSignal==0)//负向回原点if(Check_OriginSignal(cardno,axis,0))StopSignal=1;//由stop0原点引起if (Check_LimitSignal(cardno,axis,1))StopSignal=2;//由负限位引起}if ( backDir==0 && StopSignal==0)//正向回原点{if(Check_OriginSignal(cardno,axis,0))StopSignal=1;//由原点引起if (Check_LimitSignal(cardno,axis,0))StopSignal=2;//由正限位引起}get_status(cardno,axis,&status);//驱动状态检测if (status) break;//驱动进行中,继续检测if (StopSignal==0) //未检测到正常停止信号{set_stop0_mode(cardno,axis,0,0);}if (StopSignal==2) //原点模式时,由限位引起的停止{return -2;}set_stop0_mode(cardno,axis,0,0);StopSignal=0;workstep++;break;case2://低速经过原点set_startv(cardno,axis,searchSpeed);set_speed(cardno,axis,searchSpeed);pmove(cardno,axis,backDir?searchRange:-searchRange);//搜索范围workstep++;break;case3://判断驱动结束,设置原点有效get_status(cardno,axis,&status);//判断运动是否停止if (status) break; //驱动进行中,继续读信号和状态set_stop0_mode(cardno,axis,1,logical0);//设定stop0有效电平workstep++;break;case4://低速接近原点pmove(cardno,axis,backDir?-searchRange:searchRange);workstep++;break;case5://读信号和状态if (backDir==1 && StopSignal==0)//负向回原点{if(Check_OriginSignal(cardno,axis,0))StopSignal=1;//由stop0原点引起if (Check_LimitSignal(cardno,axis,1))StopSignal=2;//由负限位引起}if ( backDir==0 && StopSignal==0)//正向回原点{if(Check_OriginSignal(cardno,axis,0))StopSignal=1;//由stop0原点引起if (Check_LimitSignal(cardno,axis,0))StopSignal=2;//由正限位引起}get_status(cardno,axis,&status);if (status) break;//驱动进行中,继续读信号和状态if (StopSignal==0 || StopSignal==2) //未检测到正常停止信号{set_stop0_mode(cardno,axis,0,0);return -2;}if(logical1==-1){//不搜索Z,回原点完成set_stop0_mode(cardno,axis,0,0);set_command_pos(cardno,axis,0);set_actual_pos(cardno,axis,0);return SUCCESSFUL;}else{if (logical1==0||logical1==1)//搜索Z相{set_stop0_mode(cardno,axis,0,0);workstep++;break;}}case6: //编码器Z相,移动与每转脉冲数等长的位移{StopSignal=0;set_startv(cardno,axis,phaseSpeed);//低速接近Z相set_speed(cardno,axis,phaseSpeed);//低速接近Z相set_stop1_mode(cardno,axis,1,logical1);//设置Stop1有效电平pmove(cardno,axis,backDir?pulseUnit:-pulseUnit);workstep++;break;}case7://判断搜索Z相信号结果{if(Check_OriginSignal(cardno,axis,1))StopSignal=1;//由STOP1引起get_status(cardno,axis,&status);if (status) break;//驱动进行中,继续读信号和状态if (StopSignal==0){//转了一圈仍然没有找到Z信号set_stop1_mode(cardno,axis,0,0);return -2;}set_stop1_mode(cardno,axis,0,0);set_command_pos(cardno,axis,0);set_actual_pos(cardno,axis,0);return SUCCESSFUL;}}if (Stop_Flag[axis-1]==1)//响应外部的停止信号,退出break;//转让控制权PeekMessage(&msg,NULL,0,0,PM_REMOVE);::TranslateMessage( &msg );::DispatchMessage( &msg );nCount++;if(6<=nCount) //每执行6次,睡眠一次{nCount=0;Sleep(1); //强制释放时间片,降低CPU占用率}}//end whileset_stop0_mode(cardno,axis,0,0);//设置STOP0为无效set_stop1_mode(cardno,axis,0,0);//设置STOP1为无效return1;}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MC_Home
指令名称:回原点指令
功能:使轴归位,设置参考点,用来将轴坐标与实际的物理驱动器位置进行匹配。

使用要点:轴做绝对位置定位前一定要触发MC_Home指令。

『注意』部分输入/输出管脚没有具体介绍,请用户参考MC_Power指令中的说明。

①Position:位置值
•Mode = 1时:对当前轴位置的修正值
•Mode = 0,2,3时:轴的绝对位置值
②Mode:回原点模式值
•Mode = 0:绝对式直接回零点,轴的位置值为参数“Position”的值
•Mode = 1:相对式直接回零点,轴的位置值等于当前轴位置+ 参数“Position”的值
•Mode = 2:被动回零点,轴的位置值为参数“Position”的值
•Mode = 3:主动回零点,轴的位置值为参数“Position”的值
下面详细介绍模式0和模式1.
Mode = 0绝对式直接回原点
以下图为例进行说明。

该模式下的MC_Home指令触发后轴并不运行,也不会去寻找原点开关。

指令执行后的结果是:轴的坐标值更直接新成新的坐标,新的坐标值就是MC_Home指令的“Position”管脚的数值。

例子中,“Position”=0.0mm,则轴的当前坐标值也就更新成了0.0mm。

该坐标值属于“绝对”坐标值,也就是相当于轴已经建立了绝对坐标系,可以进行绝对运动。

『优点』MC_Home的该模式可以让用户在没有原点开关的情况下,进行绝对运动操作。

Mode = 1相对式直接回原点
与Mode = 0相同,以该模式触发MC_Home指令后轴并不运行,只是更新轴的当前位置值。

更新的方式与Mode = 0不同,而是在轴原来坐标值的基础上加上“Position”数值后得到的坐标值作为轴当前位置的新值。

如下图所示,指令MC_Home指令后,轴的位置值变成了210mm.,相应的a和c点的坐标位置值也相应更新成新值。

Mode = 2和Mode = 3已在前面介绍过,这里不再赘述。

『注意』用户可以通过对变量<轴名称>.StatusBits.HomingDone = TRUE与运动控制指令“MC_Home”的输出参数Done = TRUE进行与运算,来检查轴是否已回原点。

相关文档
最新文档