文章内容简介:主要阐述一台PLC通过一条数据总线控制多个单片机的技术。

大家都知道PLC全称“为可编程程序控制器”是自动化的核心设备,广泛用于工业自动化生产线上,与之连接的周围设备是一些传感器开关、伺服电机等。

而单片机是一种电子元器件,是组成某种功能电路板的核心元件,与之连接的周围是一些电阻、电容晶体管、集成电路等器件。

好像处于两个不同的领域,这时有人要问了:

1、PLC与单片机有联系吗?

回答是:有联系

2、PLC可以控制单片机吗?

回答是:可以,一台PLC能同时读写几十个单片机的数据,笔者最多控制过64个单片机,且实现100%的可靠数据传输。

3、这样做有何用途?

回答是:大有用途,工业自动化生产线一般分为两种,一种是组装生产线,另一种是测试生产线,在测试生产线中单片机可以嵌入到工装夹具中,用于在线监测产品的质量数据,从而进行自动分类筛选。

以下是比较常用的现场总线的类型:

CAN(控制器局部网)

LONWORKS(局部操作网络)

PROFIBUS(过程现场总线)

FF(基金会现场总线)

HART(可寻址远程传感器数据通路)

以上这些都是洋人制定的标准规矩,需要购买专用的驱动芯片,很复杂成本也很高,不实用。

下面我将带领你们创建属于自己的数据总线标准,100%的可靠,而且成本很低,我已经应用到很多的设备上且从来没有掉过链子。即使你是小白或菜鸟,也不要怕,很简单一教就会。

一旦学会你想怎么玩就这么玩,在自动化领域无所不能。(待续)

plc和单片机有什么联系(PLC与单片机1)(1)

这是一款汽车点火线圈自动测试台,就是用这种总线技术制作的,成本不到2万。生产节拍与100多万的设备相同,

PLC与单片机(2)

建议学员初学时PLC选用三菱 FX3U-16M,因为价格为500元左右,功能很强大。我还建议初学者最好选用DC型,24V供电,需要再配一只开关电源24V/1A足够了,因为我将PLC归类为弱电设备,在布线时输入和输出都布在弱电线槽内,这样很规范,做实验室也很安全。

plc和单片机有什么联系(PLC与单片机1)(2)

三菱 FX3U-16M

再配一个 RS232串行通信扩展板(FX3U-232-BD),大约30元左右(国内高仿的可以用,原装在150元左右没必要)

plc和单片机有什么联系(PLC与单片机1)(3)

FX3U-232-BD

还需要一条下载线,圆口插PLC左下角,USB插电脑。买电缆时根据说明书安装驱动程序。

plc和单片机有什么联系(PLC与单片机1)(4)

电脑需要安装PLC编程程序,Gx WORKS2 (三菱新版编程软件),网上有很多,如果找不到请在留言处留下你的email地址,我发给你。

下面是安装后的界面,新建一个工程,写第一行程序(梯形图)

plc和单片机有什么联系(PLC与单片机1)(5)

Gx WORKS2主界面

首先将PLC的S/S端与24V端连接,建立了下拉低电平为输入“1”的状态,这也是通常大家公认的一种输入方式。也就是说当你将X0输入端子与0V端子短路时,这时PLC的X0端子为输入“1”,监视X0端子的指示会亮,你可以用一段导线试一下。

将蓝色方框光标停留在左上角开始位置,然后按F5后出现一个对话框输入X0后确定

plc和单片机有什么联系(PLC与单片机1)(6)

指令输入对话框

这种像电容一样的图标,可以理解为一个常开触点(也就是说“0”状态时,为触点被断开)X0~X15输入端初始状态为“0”状态,当你用一棵导线将X的某个端对0V端短路时,这个端即为“1”状态(触点被接通)。

将蓝色方框光标停留在X000后面位置,按F7出现对话框

plc和单片机有什么联系(PLC与单片机1)(7)

指令输入对话框

输入Y0再点确定,这时完成了第一行的梯形图程序,然后在主菜单上“编辑/转换”栏下点击“转换 RUN中写入”,这时程序下载到PLC中了。当你再次用0V线触碰X0端子时,Y0输出指示灯也跟着亮了,此时Y0端是有输出的,可以用一个 24V的继电器进行实验更直观。

plc和单片机有什么联系(PLC与单片机1)(8)

带座有螺丝接线端的继电器

只接继电器线圈的两个端子,一端接Y0,一端接 24V。

再检查一下PLC的Y0端的COM端要接到0V端,这也是确立拉低电平的输出方式,也是大家公认的一种输出方式。

这时再用0V线触碰X0时,会听到继电器跟着响一声。

你还可以再改一下程序,将蓝色方框光标停留在下一行,点鼠标右键选“编辑--行插入”。

plc和单片机有什么联系(PLC与单片机1)(9)

梯形图

在编辑这段程序时要注意蓝色方框光标停留的位置,添加竖线时光标要停在竖线的右侧,这段程序X0和Y0是并联的关系,目的是产生自锁,X1为常闭触点,为了断开自锁。

这时将程序下载到PLC后,再用0V线触碰一下X0和X1,看看效果怎样。(未完待续)

PLC与单片机(3)

下面开始讲PLC如何通过232接口向单片机发数据的,首先定义一下数据结构,如下图所示:

plc和单片机有什么联系(PLC与单片机1)(10)

数据结构自己随意定,由于在这里单片机选用8位的,所以定义了发两个8位和收两个8位的数据结构。图中Y1为PLC输出的一脉冲用于单片机串口的强制复位,确保100%的数据传输。

关于波特率的设定在,打开编辑软件GX Works2,点击左侧工程导航栏中的“PLC参数”如下图:在传输速度栏改为9600,数据长度为8位,停止位1位,请记住这些设置,要与在后面要与之通讯的单片机串口的设置保持一致。

plc和单片机有什么联系(PLC与单片机1)(11)

下面开始编写PLC串口发送程序,将蓝色光标移到第三行Y0右侧先加一条竖线,再按F8,这时出现对话框:

plc和单片机有什么联系(PLC与单片机1)(12)

输入SET M8161确定,M8161为PLC内部的一位寄存器(也称为软元件),在这里表示采用8位数据模式。

再按F8,这时出现对话框:

plc和单片机有什么联系(PLC与单片机1)(13)

输入RS D10 K2 D100 K4确定,这里D10为发送寄存器(自己随意定义的),在FX3U的内部D0~D199为用户使用的通用寄存器。D100设为接受寄存器,K2为10进制数2,K4位10进制数4。

------[ RS D10 K2 D100 K4 ] ,这是三菱PLC的串口发送语句,表示为发送2字节接受4字节,因为PLC发送的同时也在接受,所以接收必须设为4字节(其中前2个字节为发送数据后2个字节为单片机回答的数据)。

再按F8,这时出现对话框:

plc和单片机有什么联系(PLC与单片机1)(14)

输入SET M6确定,M6为PLC内部的一位寄存器(也称为软元件)在FX3U中一共有M0~M499是可以修改的,这里 [ SET M6 ] 的意思是将M6置为1,(用M几都可以)这里M6定义为发送控制标志。

plc和单片机有什么联系(PLC与单片机1)(15)

当M6置为1时,开始脉冲宽度T256定时(K1表示1毫秒定时),三菱的FX3U内部有定时器T256~T319为毫秒级定时器共64个。

当M6置为0时,开始脉冲间隔T257定时(K9表示9毫秒定时)。

M8122是串口控制标志(不是自己定制的是内部专用的)为1时表示开始发送数据。

M8123是串口控制标志(不是自己定制的是内部专用的)为1时表示完成接受数据,需要及时清0,否则不在接收数据。

此时,已经有数据不停的从串口发出,现在发送的都是0,如果修改发送的数据,将需要发送的数据写入D20和D21即可。(未完待续,下期开始讲单片机如何接收数据)

,