浔之漫智控技术-西门子PLC代理商
西门子PLC模块 , 变频器 , 触摸屏 , 交换机
辽阳西门子S7-1200代理商

辽阳西门子S7-1200代理商

1 吸覆机简介
    吸覆机属于木工机械的一种,实现对木板等材料的覆膜功能。它分为单工作台式和双工作台式,主要由传动装置、加热装置、加压装置、加压装置和控制柜组成,如图1所示。

 


2 PLC对吸覆机的控制
    由于卸料和装料过程是由人工完成的,对于双工作台式吸覆机,当一侧工作时,另一侧可以完成卸料和装料,因此,双工作台式吸覆机比单工作台式的节约时间,生产效率高。本文针对双工作台式设计,这样吸覆机既能单台工作,也可以双台工作。

1. 控制过程
    该系统设计采用欧姆龙公司生产的CP1L-M40DR-A作为控制系统的核心,其特点为自动化程度高,操作方便,编程灵活,抗干扰能力强,安全性高,使用维护方便。

    通过00100点作为手动/自动选择位,00101点作为停止位,00102和00103分别为左右工作台启动位。为了防止撞车,只有当右工作台的右限位压下时,左工作台才可以启动;同样,当左工作台的左限位压下时,右工作台才可以启动。当手动/自动转换开关选择手动档时,送料、预压、成形、泄压、出料过程分别由相应的按钮控制;当手动/自动转换开关选择自动档时,按下左工作台或右工作台启动按钮即可自动完成从送料到出料的整个加工过程。当左工作台允许启动时,按下左工作台启动按钮,电机正转将料送入工作箱,由TIM000设定定时加热一定时间,开启真空泵电磁阀进行短暂预压(大约三秒,由TIM001设定),然后成形(由TIM002设定),延时一定时间(由TIM003设定),后将产品送出,直到左工作台的左限位压下时,整个工作过程结束。右工作台的工作过程与上述过程相同。

2. PLC程序
    对于不同的材料,要求加热的时间不同,我们可以通过CP1H的外部模拟电位器来方便的设定时间,而不需频繁读写程序来改变定时器的设定值。它的使用方法是在CP1HCPU单元的外部模拟设定输入端子上施加0~10V的电压,则输入电压可进行A/D转换,并可将特殊辅助继电器A642CH的当前值在0~225的范围内自由变更。将A642CH的内容存入D2中,将其转换为BCD数,然后乘以一定的倍数后存入D0,把D0内的值作为定时器的设定值即可实现。程序实现如图3。

  

  


    左右工作台的PLC控制程序类似,在此只给出左工作台的PLC程序,如图4所示。




3 系统功能特点
(1).手动/自动选择
    考虑到生产过程中有时需要手动操作,系统设置了手动/自动选择。自动工作方式下,吸覆机能够自动完成整个生产过程,生产效率提高。
(2).安全节能
    加热箱固定,热量损失极少,补升温快,保温节能。自动定时加热加压及泄压,安全方便,并在加热箱设置观察口,操作成品率高。
(3).适应性
    对不同材料,如PVC、木皮等,所需的加热时间不同,通过面板上的电位器即可设定时间,而不需改动程序。

1. 引言
    随着经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通拥塞已成为一个国际性的问题。因此,设计可靠、安全、便捷的多功能交通灯控制系统有极大的现实必要性。通常情况下,交通信号灯控制的主要缺陷是交通信号灯控制系统缺乏有效的应急措施,导致十字路交通受阻,造成不必要的经济损失。为此,我们考虑设计十字路口的监控系统。以便方便、快速的对交通灯控制。Siemens公司生产的PLC由于价格低、适应工业现场以及强大联网功能特点被广泛使用。考虑到这些因素,本系统以PLC作为下位机。上位机可以采用VC++、VB、Delphi等语言,由于本系统实现的功能相对简单,涉及的数据处理和数据管理要求不是太高,因此考虑用价格便宜,通讯容易实现的VB作为上位机。


2. 系统构成

 
图1  系统构成


    系统构成如图1
    监控系统主要由计算机和PLC构成。用PC/PPI电缆连接计算机的RS-232口和PLC的RS-485口,作为数据转换器(使用PC/PPI电缆上的DIP开关来为电缆配置正确的波特率)。
    本系统选用的计算机处理器型号是Pentium (R) 4 CPU; 有40G的硬盘空间;选用Microsoft bbbbbbs XP 操作系统;有一个COM口。
    Siemens 公司提供多种型号的CPU以适应各种应用。本系统选用的是Siemens 公司生产的CPU224型号的S7-200PLC, 它有一个RS-485口, 14个输入口,10个输出口,完全可以满足该系统的要求(该系统需要8个输出口)。

3. 操作流程及通讯原理
3.1 操作流程
a 在SETP7-Micro/WIN软件的操作栏中点击system block 图标,出现图2所示的界面。

 


d 在所示的界面3上点击右边栏的“双击刷新”按钮,以便搜寻正确的波特率。
e 将程序下载至PLC。
f 将 PLC处于RUN模式。
g 打开VB界面,点击菜单的“运行”选项,出现图4的所示的监控界面,在监控界面中输入需要传输的数据。
h 单击图4的监控界面上的开始按钮,通讯开始。


3.2 通讯原理
    当程序开始时,初始化VB界面,打开通信端口,当按下VB界面上的开始按钮时,启动定时器,用于采集通信数据,该定时器每隔0.1s采集一次通信数据;同时接收和发送函数也已经打开,这时可以在VB界面中输入南北、东西交通灯的运行时间。即在VB中输入数据传送给PLC。  
    PLC程序开始时,初始化PLC的通讯端口,接收VB发送过来的数据,PLC判断是否接收到结束字符,如果没有接收到结束字符,PLC将处于接收状态,如果接收到结束字符,PLC延时0.01s后开始向VB发送数据。如果由于任何其它原因接收完成,启动一个新的接收。
    VB接收PLC发送过来的数据“1”或“0”来控制交通灯的“亮”或“灭”,同时控制对应车的“运行”或“停止”。
    当没有按下停止或结束按钮时,VB每隔0.1s发送一次数据给PLC, PLC接收到数据后,如果满足发送条件,就把数据发送给VB。这样就达到了计算机上的模拟界面来监控实际路面交通的运行状况,如果遇到紧急事件,需要调整车辆的运行时间,只需要在计算机中输入需要的时间即可。


3.  4. VB中的MSComm控件简介
4.1在bbbbbbs环境下,操作系统通过驱动程序控制各种硬件资源,不允许用户像在DOS 环境下那样直接对串口进行底层操作。为此,Visual Basic 6.0提供了一个串口通讯控件 Miscrosoft Comm Control,简 称MSComm 控件。操作员只需设置和监视MSComm控件的属性和事件,就可以轻而易举地实现串行通信。

4.2 MSComm控件的属性
.CommPort: 设置并返回通信端口号。
.Settings: 以字符串的形式设置并返回波特率、奇偶校验位、数据位和停止位。其中以字符n、o、e分别表示无校验、奇校验和偶校验。
.PortOpen: 设置并返回通信端口状态。设置为True时,打开端口;设置为False时,关闭端口。 
.bbbbb: 从接收缓冲区读取数据,类型为Variant。
.Output: 向发送缓冲区写入数据,类型为字符串或字节数组。
.bbbbbMode: 设置从缓冲区读取数据的格式,设为0时为字符串格;设为1为二进制格式。
.InBufferCount: 设置和返回接收缓冲区的字节数,设为0时清空接收缓冲区。
.OutBufferCount: 设置和返回发送缓冲区的字节数,设为0时清空发送缓冲区。
.bbbbblen: 设置和返回bbbbb每次读出的字节数,设为0时读出接收缓冲区的全部内容。
.Rthreshold: 表示在串口事件OnComm发生之前,接收缓冲区接收的少字节数。若设为0,可以禁止发生OnComm事件。一般设为1,即当接收缓冲区中的字节数大于等于1时,就会产生接收事件。
CommEvent: 返回相应的Oncomm事件常数。
4.3 MSComm控件处理接收信息的方式
MSComm控件提供了两种处理方式:
(1)事件驱动方式:Rthreshold 属性非0时,收到字符或传输线发生变化时就会产生串口事件OnComm。通过查询CommEvent属性可以捕获并处理这些通信事件。
(2)查询方式:通过查询bbbbbBufferCount(接收缓冲区的字节数)属性值, 处理接收到的信息。              
    本文采用事件驱动方式

5. 方案的具体实现
5.1程序设计


5.1.1 VB发送数据给PLC 
 MSComm1.Output = Text2.Text & Text3.Text &Text4.Text & Text5.Text & Chr(10)  
‘利用MSComm控件向PLC发送数据 (文本框内分别为控制交通灯南北直行、南北弯行、东西直行、东西弯行的时间) 说明:由于PLC识别从VB发送过来的ASCII码,所以这些文本框内为经过运算的, PLC的识别的ASCII码。这里用
p = Val(txt1.Text) 
Text2.Text = Chr((p - 3) * 10)等语句。 
                 
5.1.2 VB接收PLC发送过来的数据
   Private Sub MSComm1_OnComm()
   If MSComm1.CommEvent = comEvReceive Then  
 ‘如果接收到字符
S1 = MSComm1.bbbbb                          
‘把接收缓冲区内的数据赋值给临时变量"S1"
If (S1 = Chr(&H1B)) And (Len(SCOMS) > 2) Then    ‘如果变量"S1"(接收缓冲区内的数据接收到起始字符‘&H1B‘,并且变量"SCOMS"中的字节数大于2),则
   SCOMS = ""                               
   清空变量"SCOMS"中的数据
   Else                                        
  ‘否则
    If S1 <> Chr(&HD) Then                    
‘如果变量"S1"没有接收到结束字符‘&H0D‘,则
SCOMS = SCOMS&S1
‘将"S1"中的数据累加到"SCOMS"中
     Else 
     ‘否则
     ……  
     ‘数据处理
     End sub
  ‘    结束                  Text5.text=MSComm1.bbbbb
xt5.T                        ‘ text5.Text为存放PLC发送过来的数据
End Sub 
5.2下位机程序设计
5.2.1 PLC 接收VB发过来的数据 (PLC接收缓冲区的分配如图5) 
RCV    VB100, 0 


图6  PLC 的接收缓冲区的数据分配


5.2.2 PLC向VB发送数据(PLC发送缓冲区的分配如图6)
MOVB   8, VB400   
//设置发送字节个数为8,发送缓冲区为VB400
MOVB   16#1B, VB401 
//设置发送信息的起始字符为"16#1B"
 MOVB   16#0D, VB408 
//设置发送信息的结束字符为"16#0D", 
MOVB   ‘1‘, VB402
NOT
MOVB   ‘0‘, VB402 
//若Q0.0有输出,VB402为"1",否则为"0"
XMT    VB400, 0  
//在端口0向用户回送信息,发送缓冲区指向VB400  


 图7  PLC的发送缓冲区的数据分配


6. 结论
    通过VB实现与PLC通讯。使PLC的工作纳入微型计算机的管理之下。经试验验证,编制的VB程序在Microsoft bbbbbbs XP系统下和PLC之间通讯运行良好、无误码,能有效的解决十字路口交通的运行状况。


发布时间:2024-05-08
展开全文
优质商家推荐 拨打电话