西门子模块6ES7223-1BL22-0XA8技术支持
西门子模块6ES7223-1BL22-0XA8技术支持
一、前言
封边机是木工机械当中的一种,属实木机械类。封边机顾名思义就是用来封边用的。适用于中密度纤维板、细木工板、实木板、刨花板、高分子门板、胶合板等直线封边修边。可一次性具有双面涂胶封边,带堵截封边,带粘合压紧、齐头、倒角、粗修、精修、刮边抛光等功能。因其封边细腻、润滑、手感好,封线平直润滑,设备运转安稳、牢靠经用、尤为适合于家俬、橱柜等板式家俬的厂家运用。
二、封边机种类
封边机按机型功能可以分为标准配置型:只具备齐头,修边,刮边,抛光这四个主要单元。客户定制型,客户可根据自己的实际情况增加双修,开槽,仿形等工位。目前木工行业中封边机按控制方式分主要有手动直曲线封边机和全自动直线封边机两种。
三、伟创自动化产品在封边机上的解决方案
本解决方案主要选用伟创公司的VE124 PLC,VI10系统触摸屏以及AC70系列变频器。利用感应器检知工件工位从而完成封边机的输送-->涂胶-->切断-->前后齐头-->上下修边-->上下精修 -->上下刮边-->抛光等封边工序。VI10系统触摸屏则提供一个人机交流界面 ,让整个工序流程一目了然,对于外围电路的故障也可做到可视化。AC70变频器与VE124 PLC通过MODBUS通讯,方便客户根据不同产品调整线体速度。以下内容为部分电路图及HMI组态画面。
可以用以下的方式计算脉冲宽度。
创建一个脉宽调制子程序
使用PLS脉冲输出功能和PWM功能创建一个20 kHz 脉冲序列。使用菜单“工具> 位置向导”。
选择“配置S7-200 集成的 PTO/PWM 功能”。
然后选择相应的输出用于发出脉冲,生成一个自动脉冲发生器 (如 Q0.0)。
选择 PWM 功能和相应的时基 (微秒时基,时钟周期 50 µs,25 µs 脉宽)。
然后点击“完成”确认创建子程序。
使用指令向导HSC创建高速计数器
图 01
使用菜单 工具>指令向导>HSC 打开高速计数器向导。
在向导中选择相应的高速计数器 (如 HSC 1 模式 2),指定初始化选项。
关闭向导。
插入子程序或中断到项目中
在子程序SBR_0 中, 分配中断程序 (INT_0) 到事件 1 (I0.0 的下降沿) 。
在中断程序中(INT_0), 拷贝当前计数值 HC1 到双字中 (VD0) 然后重新初始化计数器,复位计数器到0。
硬件连接
连接输出 Q0.0 (脉冲发生器)到高速计数器输入 (例子中是 I0.6 HSC1)。
将要测量的脉冲 (initiator) 连接到启动输入 (I1.1 HSC1) 然后连接到中断输入 (I0.0)。当启动输入使能的时候,20 kHz脉冲开始计数。
处理输入 I1.0 (复位输入 HSC1) 防止信号被使能。
I0.0的每个下降沿到来时,高速计数器 HSC1的计数值都会被读出来,填写到先前定义的存储区(VD0)中,计数器复位0。
通过指定的脉冲序列计算脉冲宽度 (计算公式:测量的脉冲数量 x 0.0005 µs)。
系数0.0005 通过脉冲序列 20000 的1/x 算出。
STEP 7 Micro/WIN 项目下载
下载中包含所有的必须子程序,中断和程序调用。项目使用 STEP 7 Micro/WIN V3.2.4.27 创建
一般以为,PLC输入点数是按系统输入信号的数量来确定的。但在实际应用中,通过以下措施可以达到节省PLC输入点数的目的,下面以三菱PLC来介绍。
(1) 组合输入,对于不会同时接通的输入信号,可采用组合编码的方式输入。如图,三个输入信号SB0~SB2只占用两个输入点
(2)分组输入,如下图,系统有“手动”和“自动”两种工作方式。用X0来识别使用“自动”还是“手动”操作信号,“手动”时输入信号为SB0~SB3,如果按正常的设计思路,那么需要X0~X7一共8个输入点,若按下图的方法实际,则只需要X1~X4一共4个输入点。图中的二极管用来切断寄生电路。如果图中没有二极管,系统处于自动状态,SB0、SB1、S0闭合S1断开,这时电流从com端子流出,经SB0、SB1、S0形成寄生贿赂流入X0端子,使输入位X2错误的变为on。各开关串联了二极管后,切断了寄生回路,避免了错误的产生。但是用应考虑输入信号强弱。
(3) 矩阵输入
下图所示为4*4矩阵输入电路,它使用PLC的四个输入点X0~X3来实现16个输入点的功能,特别适合plc输出点多而输入点不够的场合。当Y0导通时,X0~X3接受的是Q1~Q4送来的输入信号;当Y1导通时,X0~X3接受的是Q5~Q8送来的输入信号;当Y2导通时,X0~X3接受的是Q9~Q12送来的输入信号;当Y3导通时,X0~X3接受的是Q13~Q16送来的输入信号。将Y0的常开点与X0~X3串联结尾输入信号Q1~Q4,将Y1的常开点与X0~X3串联信号为Q5~Q8,后面以此类推
使用时应注意的是除按照上图进行接线外,还需要对应的软件来配合,以实现Y0~Y3的轮流导通;同时还要保证输入信号的宽度应大于Y0~Y3的轮流导通一遍的时间,否则可能丢失输入信号。缺点是使输入信号的采样频率降低为原来的三分之一,而且输出点Y0~Y3不能再使用
(4) 输入设备多功能化
在传统的继电器控制系统中,一个主令(按钮、开关等)只产生一种功能信号。在plc系统控制中系统中,一个输入设备在不同的条件下可产生不同的信号,入一个按钮即可用来产生启动信号,又可用来产生停止信号。如图,只用一个按钮通过X0去控制Y0的通与断,即次接通X0时Y0通,再次接通X0时Y0断
(5) 出入触点的合并,将某些功能相同的开关量输入设备合并输入(常闭触点串联输入、常开触点并联输入)。一些保护电脑的报警电路常常采用该方法。
如果是外部某些输入信号总是以某种“或与非”组合的整体形式出现在梯形图中,可以将它们对应的某些触点在可编程控制器外部串联后作为一个整体输入可编程控制器,只占可编程控制器的一个输入点。
例如某负载可在多处启动和停止,可以将多个启动信号并联,将多个停止信号串联,分别送给plc的两个输入点,如图,与每一个启动和停止信号占用同一个输入点的方法相比,还简化了梯形图电路。
PLC输出控制 法一,原理同矩阵输入,将输出点做成4*4或者5*5即为16或者25个点的输出点
命名Y0~Y7分别为a0 a1 a2 a3 a4 a5 a6 a7
我们排列4*4=16个输出点
a0a4 a0a5 a0a6 a0a7 a1a4 a1a5 a1a6 a1a7,a2a4 a2a5 a2a6 a2a7 a3a4 a3a5 a3a6 a3a7
在接线中,我们按照上面排列依次穿起来
在plc程序中,当a0a4同时on时,组开关得电
当a0a5a同时on时,第二组得电
注意事项,当有多个点同时输出时,我们要排除同时得电的某个点,三个点任意组合可能会有重复
如:同时4个点输出,我们就尽量使用组
优势:可以由小点数得到多个点,不足:程序和接线稍复杂。
1 前言
可编程控制器(plc)是集计算机技术、自动控制技术、通信技术为一体的新型自动控制装置。由于体积小、可靠性高以及组态灵活等优点,plc在工业控制领域得到了广泛的应用。在plc组成的自动测量和控制系统中,一般采用主从式控制结构,由plc向计算机发送数据,计算机处理数据后根据具体情况向plc发出相应的指令,控制plc的运行。plc作为下位机,完成数据采集、状态判别、输出控制等任务,上位机(微型计算机、工业控制机)完成采集数据信息的存储、分析处理、状态显示以及打印输出等任务,以实现对系统的实时监控。目前市场上常用的人机界面或监控组态软件价格昂贵且由国外公司垄断, 对于小型企业的单机系统来说,许多功能并不实用,同时组态软件的本身也还存在不足之处,不能满足一些特殊要求。因此,目前仍然需要技术人员根据实际情况开发小型经济适用的软件。笔者针对比较简单的控制系统,利用vc++6.0设计了一个通信程序,实现了bbbbbbs环境下上位计算机对多台plc的灵活监控。
2 通信类型
日本三菱公司是国际的工厂自动化设备制造商,其工业可编程控制器在占有相当大的份额。本项目选用三菱fx2n-48mr型plc,fx系列plc支持以下5种通信类型:
(1) plc的n:n通信方式;
(2) plc双机并联通信方式;
(3) plc与计算机专有协议通信方式;
(4) plc与计算机无协议通信方式(使用rs指令或fx2n-232if特殊功能块);
(5) 自由端口设计方式(需要特殊通信模块,使用较少)。
各种通信类型的具体特性列于表1。本系统采用专有协议通信方式,以pc机为主站,通过fx-485pc-if及fx2n-485bd与多台plc从站连接(多16台),每台plc被赋予唯一的站号用以标志身份,上位机通过rs-485通信总线对plc进行控制。
3 通信协议
fx2n系列plc通信采用异步格式,较常用的数据帧由1位起始位、7位数据位、1位停止位及1位校验位组成,波特率为9600bps。传输数据以字节为单位,分为高4位和低4位,每4位转化为1个ascii字符发送。以上位机从plc读取数据为例。
计算机方发送数据帧格式如表2所示:
enq是请求通信标志;station no.代表plc站号,设定范围00h-0fh;pc no. 是plc的cpu代号,fx系列为ffh;command是操作命令码,具体内容列于表3;message wait time表示从命令发出到plc回应之间的等待时间,允许值从0-150ms,设定为00h-0fh;character area a为传送字符串,包括位元件或字元件的首地址和单元字节个数; sum check code是和校验码,分为高4位和低4位。
plc应答格式如表4所示。
stx是帧开始字符;character area b为传送数据,fx系列plc一次多可以传送64比特即40h数据;etx为帧结束字符;其余含义同上。
本程序的主要功能为,每隔一定时间(由用户通过界面设定)按站号顺序批量读取plc中位元件y000-y017的状态,将数据存放入数据库plc表中。
总共有2台plc,对于站号为i 的plc,命令格式如表5所示。
4 软件编程
软件设计选用visualc++6.0作为开发平台,利用其提供的mscomm控件,可以方便地实现plc与上位机的串行通信。该通信控件提供了使用rs232开发串行通信软件的细则,使用事件驱动或查询方式来解决开发通信软件中遇到的问题。该控件有27个属性,主要的属性如表6所示。
首先将mscomm控件加入工程,同时安装1个系统定时器。通信控件m_mycom用于访问串口、发送和接收数据;系统定时器用于控制每隔一定时间间由上位机向plc发送命令。通信程序部分代码如下:
// 首先初始化通信端口
bool cplccommdlg::oninitdialog()
{……
m_mycom.setcommport(1); file://选择com1
m_mycom.setinbuffersize(1024); file://设置输入缓冲区的大小
m_mycom.setoutbuffersize(512); file://设置输出缓冲区的大小
m_mycom.setbbbbbmode(1);//设置数据获取方式
m_mycom.setsettings("9600,e,7,1");//设置通信参数
m_mycom.setbbbbblen(0); file://设置读取方式
if(!m_mycom.getportopen() );
m_mycom.setportopen (true); file://打开串口
stationno=0x30;
if(settimer(1,m_usertime,null)==0)
afxmessagebox("error setting,please check it!")
}
file://消息处理函数ontimer
void cplccommdlg::ontimer(uint nidevent)
{
byte receivedata[1024];
byte senddata[]={`0x05`,`0`,`i`,`f`,`f`,`w`,`r`,`a`,`y`,`0`,`0`,`0`,`0`,
`0`,`1`,`sumh`,`suml`};
if(stationno<0x31)
stationno++;
else
stationno=0x30;
senddata[3]= stationno;
sumcheck(senddata,17)
cbytearray array;
array.removeall();
array.setsize(17);
for(int k=0;k<17;k++)
{
array.setat(k,senddata[k]);
}
m_mycom.setoutput(colevariant(array));//发送命令
……//数据接收处理及加入数据库操作
}
file://和校验函数sumcheck
void cplccommdlg::sumcheck(byte temp[],int n)
{
int i;
byte sum=0x00,sumh=0xf0,suml=0x0f;
for(i=1;i<=n-3;i++)
sum+=temp[i];
suml= suml∑
sumh= sumh∑
sumh= sumh>>4;
temp[n-1]= suml;
temp[n-2]= sumh;
}
5 结论
串行通信是目前计算机与其他设备之间重要的通信手段之一,本程序作为小型监控系统的重要组成部分,实现了上位机对多台plc的实时监控,传送数据准确,程序运行稳定。整个控制系统方便可靠,同时又节省了大笔投资,具有相当大的实用