软件程序C和梯形图改.docx
- 文档编号:26139433
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:13
- 大小:418.57KB
软件程序C和梯形图改.docx
《软件程序C和梯形图改.docx》由会员分享,可在线阅读,更多相关《软件程序C和梯形图改.docx(13页珍藏版)》请在冰豆网上搜索。
软件程序C和梯形图改
程序流程图
“梯形图”程序部分
一、手动部分:
1、张力控制
2、卷绕头微调
3、卷绕杆伸缩控制
4、直流电机微调(以控制标签的初始位)
5、压线装置伸缩控制
6、剪线刀片伸缩控制
7、线团托盘翻转控制
2、自动部分:
1、IO分配表
2、梯形图程序控制其他流程,对各电机仅提供使能信号,C程序根据使能信号控制电机旋转及姿态。
注意:
1>控制卷绕头旋转的电机称为1号伺服电机;
2>控制卷绕杆水平旋转的电机称为2号伺服电机;
3>控制标签胶带传送的电机称为3号直流电机;
4>旋转杆自旋转由1号伺服电机齿轮变速传动。
第一次运行前先由操作工手工将线头牵引至卷绕初始位置,通过触摸屏设定单轮卷绕圈数N0、卷绕初始速度V0、轮数Z0等初始信息。
1号伺服电机工作的初始条件:
开启自动启动X00,未紧急停止运行STOP,卷绕头在卷绕杆的正下方到位X3,2号伺服电机在初始位X0,剪线刀片初始位X4,压线装置初始位X5。
2号伺服电机正转工作的初始条件:
开启自动启动X00,未紧急停止运行STOP,2号伺服电机未到终点X1,2号伺服电机未反转Y7,2号伺服电机在初始位X0。
总控装置按照事先规定的卷绕方案,启动1号伺服电机进行卷绕;同时按照同一卷绕方案,总控装置通过2号伺服电机控制绳卷的卷绕位置,以形成所需的绳卷形状。
具体的电机转速及位置控制由C程序实现,梯形图程序仅通过传感器X2记录当前1号伺服电机旋转的圈数并存入变量n中,当圈数达到设定值N0且卷绕头在下方到位时,关闭1号伺服电机使能,使其完全停转。
此处使用指示灯Y0闪烁表征1号伺服电机的运转,也方便操作人员查看电机运转状态。
当2号伺服电机到达终点角度停止且1号伺服电机绕完设定的N0圈停止后可进入下一步操作。
两台伺服电机停止后,总控装置控制直流电机正转4秒将新标签的粘帖部位至于压线装置的底盘。
新标签到达指定位置后,卷绕杆伸缩气缸可伸出,该气缸可动作的条件是:
2号伺服电机到达终点X1,卷绕头在卷绕杆的正下方到位X3,1号伺服电机停止运转M1,另外前面已保证剪线刀片处于伸出位和压线装置处于释放位,充分保证了系统的安全性。
上诉条件皆满足后,延时2s,卷绕杆伸缩气缸伸出。
为保证卷绕杆伸缩气缸伸出到位且稳定,卷绕杆伸缩气缸伸出3s后,压线装置气缸可动作,粘贴标签,防止卷绕好的绳卷松开。
压好后延时2s,卷绕杆伸缩气缸缩回。
卷绕杆缩回并稳定1S后,在2号伺服电机未到初始位X0且2号伺服电机未正转的条件下反转使能Y7得电,反转的角度和速度由C程序控制。
当2号伺服电机反转到初始位置(起点)X0后,反转使能Y7失电,停止反转。
2号伺服电机反转且归位后,允许打开1号伺服电机正转使能。
1号伺服电机以某较慢速度正转10圈后(速度由C程序控制),下一个绳卷的初始动作完成。
剪线刀片气缸动作切断绳线,剪线2s后,剪线刀片气缸回到伸出位(初始位),压线装置回到释放位(初始位)。
此后1号伺服电机以V0速度正转,继续卷绕下一个绳卷并循环往复。
剪线刀片气缸回到初始位后稳定2s,再启动线团托盘翻转气缸装置,将卷绕成型的成品绳卷卸下,使其落在托盘下方的传送带上,被传送带送走处理包装。
线团托盘翻转气缸装置动作3s后恢复原位(初始位)。
卷绕成型的成品绳卷掉落到传送带后,轮数计数器计数,记录当前的卷绕线团个数,达到设定个数X0后Y9得电,由C程序控制系统停机,以结束循环。
当出现紧急情况或者故障时可触发STOP紧急制动并使系统程序复位,所有电机停转,保证生产安全,可通过手动调节机械复位。
C程序部分
控制两个伺服电机的协调运转。
#include
#include
#include
voidinitial1();
voidinitial2();
dintcontrolword_1=0,Statusword_1=0,Target_velocity_1=0,Velocity_actual_value_1=0;
dintcontrolword_2=0,Statusword_2=0,Target_position_2=0,Position_actual_value_2=0,
dintProfile_velocity_2=3,Velocity_actual_value_2=0;
_GLOABLEintV0=300,N0=600,n=0,n1=0;
/*n为1号电机此轮旋转圈数,V0为1号电机速度设定初始值,N0为设定一轮卷绕圈数。
*/
_GLOABLEintMode_1=0,Mode_2=0;
/*n1为已经卷绕的线圈个数。
Mode_1和Mode_2为两个伺服电机模式参数*/
plcbitrun_1,run_2,Stop,Stop_1,Stop_2;
/*run_1为1号伺服电机启动信号,run_2为2号伺服电机启动信号。
*/
plcbitX00,X1,X2,X3,X4,X5,X7;/*输入量,应与对应地址相匹配。
*/
plcbitY0,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8,Y9;/*输出量,应与对应地址相匹配。
*/
plcbitM1,M2,M3,M4,M5,M6,M7,M8,M10,M11;/*中间变量*/
_INITvoidinitialization(void)
{
initial1();/*LXM05_1号伺服控制器初始化程序。
*/
initial2();/*LXM05_2号伺服控制器初始化程序。
*/
/*伺服驱动器恢复出厂设置后,其转速控制器的积分时间常数太小,需重新设定值。
否则出现电机运转步进很大,以致伺服驱动器报错。
*/
if((Mode_1==3)&&(run_1==1)&&(X00==1)&&(V0!
=0))
{
Target_velocity_1=V0;
/*1号伺服电机速度设置,此处为300r/min,可在触摸屏上修改。
*/
}
}
_CYCLICvoidCyclic(void)
{
while((X00==1)&&(Mode_1==3)&&(Mode_2==1))
{
if((run_1==1)&&(run_2==1)&&(N0!
=0)&&(M1==0)&&(Y7==0))
/*1号伺服电机按照旋转圈数改变转速。
2号伺服电机按照旋转圈数改变转角*/
{
if(n==(1/5)*N0)
{
Target_velocity_1=0.9*V0;/*卷绕头降低速度为设定值的0.9倍*/
Target_position_2=819;/*卷绕杆旋转到18°*/
}
if(n==(2/5)*N0)
{
Target_velocity_1=0.8*V0;/*卷绕头降低速度为设定值的0.8倍*/
Target_position_2=1638;/*卷绕杆旋转到36°*/
}
if(n==(3/5)*N0)
{
Target_velocity_1=0.7*V0;/*卷绕头降低速度为设定值的0.7倍*/
Target_position_2=2458;/*卷绕杆旋转到54°*/
}
if(n==(4/5)*N0)
{
Target_velocity_1=0.6*V0;/*卷绕头降低速度为设定值的0.6倍*/
Target_position_2=3277;/*卷绕杆旋转到72°*/
}
if((n>=N0)&&(X3==1))
{
Target_velocity_1=0;/*卷绕头停止旋转,卷绕杆在72°处静止*/
}
}
if(Y7==1)/*卷绕杆反转位置设定*/
{
Target_position_2=0;/*卷绕杆归位*/
}
if(M8==1)/*剪线操作前,新线团的初始卷绕*/
{
Target_velocity_1=60;
while(n<=10);/*1号伺服电机以1r/s的速度转10圈*/
}/*10圈后剪线,并恢复设定速度V0开始新的卷绕过程*/
if(Stop_1==1)/*1号伺服电机紧急制动。
*/
{
controlword_1=0x0000;/*1号伺服控制器停止控制字。
*/
Target_velocity_1=0;/*1号伺服电机停转。
*/
}
if(Stop_2==1)/*2号伺服电机紧急制动。
*/
{
controlword_2=0x0000;/*2号伺服控制器停止控制字。
*/
}
if(Stop==1)/*紧急制动!
*/
{
Stop_1=1;
Stop_2=1;
}
if(n1==X0)/*判断是否已到设定卷绕线团的个数*/
{
Stop=1;
}
elseStop=0;
}
}
voidinitial1()/*1号伺服电机采用“速度特征曲线”运行模式*/
{
intA=25000,B=0,Mode_0=0;
A=25000;
WRITE_VAR(ADDM('0.0.2.1'),'SDO',16#00043012,0,A,%MW100:
4);
READ_VAR(ADDM('0.0.2.1'),'SDO',16#00043012,0,%MW100:
4,B);
if(B==25000)
{
controlword_1=0x0080;/*写复位控制字。
*/
controlword_1=0x000F;/*写使能控制字。
*/
Mode_0=3;
WRITE_VAR(ADDM('0.0.2.1'),'SDO',16#00006060,0,Mode_0,%MW200:
4);
/*将运行模式的类型通过CANopen写入1号伺服控制器(速度特征曲线运行模式对应的代码为3)*/
READ_VAR(ADDM('0.0.2.1'),'SDO',16#00006060,0,%MW200:
4,Mode_1);
/*用来检查运行模式是否正确。
*/
}
}
voidinitial2()/*2号伺服电机采用“点到点”运行模式和绝对定位控制方式。
*/
{
intA=25000,B=0,Mode_0=0;
A=25000;
WRITE_VAR(ADDM('0.0.2.2'),'SDO',16#00043012,0,A,%MW300:
4);
READ_VAR(ADDM('0.0.2.2'),'SDO',16#00043012,0,%MW300:
4,B);
if(B==25000)
{
controlword_2=0x0080;/*写复位控制字。
*/
controlword_2=0x002F;/*写使能控制字,绝对定位控制方式。
*/
Mode_0=1;
WRITE_VAR(ADDM('0.0.2.2'),'SDO',16#00006060,0,Mode_0,%MW400:
4);
/*将运行模式的类型通过CANopen写入伺服控制器(点到点运行模式对应的代码为1)*/
READ_VAR(ADDM('0.0.2.2'),'SDO',16#00006060,0,%MW400:
4,Mode_2);
/*用来检查运行模式是否正确。
*/
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 程序 梯形