全国服务热线 15221406036

西门子6ES7223-1BM22-0XA8

发布:2023-03-20 16:23,更新:2024-05-08 07:10

西门子6ES7223-1BM22-0XA8

plc是什么?为什么要学plc编程?PLC能够给我们带来什么好处?近在招生中常常有电工朋友这么问。感觉每次都要回答一遍很累,再说了,这不是几句QQ聊天就能表达到位的前景描述。想想还是提笔写封公开信。希望我这封信能够开启众多的电工朋友走入工业自动化学习的这扇门。  我先引用一个小故事,差不多每个电工朋友都会遇到的故事。这个小故事的主人公还有一个人,职称叫电气工程师。电气工程师?不见的技术如何吧?我公司的有个电气工程师毕业都快两年了,啥也不会,简单的控制照明电路都搞不好…….。拿这个对比,说明没意义吧?哈哈,我正是要拿这个对比说事。我承认以上都是不争的事实。而且例子还多的是。但接下来的讲述我想就是你心里的疙瘩了:公司来了一批比较先进的设备,安装调试,基本没你的事,那个所谓极差的电气工程师被老板亲自点名参与安装调试。还有更重要的资料保管。平台效益出来了吧!!!你之所以能成为一个的电工,是因为你在电工这条路上走了好多年。电气工程师的工作本来就和电工朋友的工作有很多的交叉之处,你还会接触很多这样的新电气工程师,难不成你还想一直这样嘲笑下去。当然可以换句话说这是人生知足态度。要是这样就不必往下看了,因为我实在没办法点燃你学习的热情。  也许你认可我所说的,但是现在是文凭社会,我没有文凭呀?这点上确实让人有点无奈,我也认为很不公平。想公平只能你自己想法办了…..。当然你要是觉的懂技术也很有市场,不妨往下看。那么电气工程师能做什么呢?     电气工程师一般是工业自动化毕业的学生。所谓工业自动化本质上就是解放劳动力让高效的机器代替更多的劳动力,并提高产品质量。于是设计的主题上来了,现在很多企业里的旧设备都可以进行自动化升级改造。把呆板的继电器控制系统换成灵活的PLC控制系统。或在原有的PLC系统里增加你所要求的动作功能,再增加个触摸屏或组态王hmi人机界面,实现操作人员与机器的对话。建立历史记录查询,比如机台过载或故障你就可以调出相应的历史数据,进行数据对比分析。建立工程师站,让管理人员与工程技术人员在办公室里就可以掌控所有设备的状态与生产数据。还可以让机台报表的自动生成,这样就可以少几个文员啦。借此申请其中一个做你秘书多好啊!    以上只是个电气工程师梦的简单描述,我们电工朋友怎样才能实现这个梦呢。本篇第二段我有说过电工和电气工程师在工作上有很多重叠之处,只是电气工程师本质上多了一个以技术为核心的东东叫PLC我们没有学过。现在我们就对这个所谓的技术核心进行解剖:PLC全称可编程逻辑控制器,是一种能够把各种电气元器件的输入信号通过程序的形式演化成PLC的各种运算并将结果输出的这么一种电子装置。哈哈,这句的重点是程序,要编辑程序就要用到编程语言。PLC的编程语言有:语句表 逻辑块 梯形图    其中梯形图说白了就是我们电工的编程语言。电工有自己的编程语言?是的,不用怀疑。再往下看你多年的技术结晶也许就可以转化成为一种计算机语言了(PLC在某种意义上就是一台计算机)。  平时我们在设计星三角降压启动时,就是用导线把3个接触器 一个时间继电器 还有一些按钮和保护装置按一定的逻辑关系组合起来。我暂时把这称为:电工在设计控制系统时的硬元件逻辑组合。而PLC编程就是把PLC提供的软元件按一定的逻辑关系进行组合,从而达到我们想要的输出结果。PLC的软元件基本上和我们电工使用的元件极其相似,说白一点就是模仿电工的电路设计理念。如:中间继电器、计时器、计数器、输入继电器、输出继电器、数据寄存器、还有一些功能指令等组成。以上除了功能指令是不是都很熟悉。用编程软件里的“导线”把这些软元件按一定的逻辑关系串起来就是编程。这要比我们在实物中的硬接线要简单的多,不是吗?我想这一段对电工朋友来说会有一定的感悟,这就对了。结合自身的技术基础踏入PLC编程之路只不过是一种思维方式的转化

1 引言

  西门子S7-200plc由于其体积小,可靠性高,通讯功能强大等特点,在工业控制领域得到广泛的应用,使用S7-200PLC高性价比的自由口通讯协议实现人机界面灵活方便。目前S7-200PLC接收计算机指令数据主要有两种方法:种方法是使用PLC自带的RCV指令来接收计算机数据;第二种方法采用PLC提供的“接收字符中断”方式,将SMB2(自由口接收字符缓冲区)定义指针,使用指针接收数据。

  使用“RCV"指令接收数据的方法虽然简单,但在接收大量数据的时候每次都要依次接收,大大降低了数据传输效率。在本实验室的一套机电一体化控制系统中,人机界面设计要求是:界面可以向PLC写入QB0、QB1、QB2、传感器采样周期、一个判断指令、AQ0、AQ1等不同指令数据。若一次上位机写指令仅仅是控制QB0.3的启动,为了写入QB0则需要将9 B的数据全部发送,由于PLC内接收数据是用“RCV”指令,必须将9 B的数据依次存储,这样会造成数据传输线路中的时间过长产生延时,降低数据传输的效率,甚至导致误码出现,显然这种使用“RCV”接收大量数据的方法不太适合。

  使用PLC提供的“接收字符中断”方式,将SMB2(自由口接收字符缓冲区)定义指针,使用指针接收数据。此方法若仅仅定义一个指针,其效果和“RCV”指令是一样的。但此方法由于其使用起来比较灵活,故本文设计了一种多地址指针接收数据的方法,即在计算机向PLC写入数据时,仅写入指针判别的代号和对应数据就可完成上位机对下位机的写指令,不同的代号对应不同的地址,与以往使用“RCV”指令相比,有效地减少了写指令的数据,提高了通讯效率。本文在设计PLC与上位机的串口通讯中设计了此种方案,尚未见其他同类文章使用。

  2 指针判别

  在PLC与计算机的自由口通讯中,为消除“RCV”或单指针接收计算机数据带来的大数据流,本文在计算机每次向PLC发送指令时,个字节总是模式的代号,从第二个字节开始才是指令数据的内容。在PLC接收数据时,个数据进入“自由口接收字符缓冲区”SMB2时,PLC通过“选择指针”先接收的是指针判别的代号,通过接收代号的数值比较来判断该指令数据对应的是哪种数据,判断完成后定义一个地址指针接收并存储这种数据的内容。不同的指针判别代号对应不同的地址指针,因此计算机每次写入PLC指令时发送的指令数据都是由两部分构成:部分为指针判别代号,第二部分为指令数据的内容。指针判别过程是PLC内接收到判别代号后进行数值比较。指针判别的意义就是通过一个总指针接收模式代号,用不同模式代号再定义多个指针完成不同种类的指令数据的接收与存储。

  3 具体应用方案

  在设计本实验室的一套电液伺服控制系统中,上位机的人机界面使用VB 6.0编程,下位机的通讯模式为自由口通讯。人机界面设计要求:界面可以向PLC写入QB0、QB1、QB2、传感器采样周期、AQW0、AQW2等不同指令数据,PLC在定时中断内使用XMT指令周期地向上位机发送变量存储器VB1~VB21中的待监视数据(包含PLC中的数字量与模拟量)。由于在设计中上位机写入PLC指令数据种类较多,其中包括定时中断的时间设置、状态位值的写入、模拟量扩展模块的输出等,故本文的模式选择可以将种类不同的指令数据用多个指针接收并存储。表1是本设计PLC程序的部分地址分配表,以便结合PLC程序来说明多地址指针方案的具体实现方法。

  SBR_0子程序初始化:

  网络1:在子程序中定义中断事件。

  INT_0接收字符中断事件中采用指针判别:

  网络1:指针代号接收存储于VB22。

  INT_1定时中断事件中PLC发送监视数据:

  网络1:通过VB24接收的数据控制XMT的“启/停”动作,进而控制PLC向计算机发送数据。

  4 注意要点

  由于在本设计中PLC每次接收数据,个字节“指针代号”进入SMB2时,在一次中断事件内,指针代号的数值也存储在每个指针对应的个存储地址中,因此每个指针接收数据时从第2个字节起才是指令数据的信息内容,个字节都是对应该指针的代号,否则会出现数据传输错误。在PLC程序设计时需要为每个指针预留个存储地址来存储该指针的代号。

  故上位机每次向PLC写指令时,个数据内容是指针代号,通过上位机程序中直接赋值即可实现;从第2个数据开始为上位机的控制指令。

  5 结 语

  本设计方案已在实验室机电一体化控制系统的人机界面中成功地应用。系统运行稳定,大大减少了与上位机操作指令无关的数据传输,可**高效地将上位机指令数据写入目标地址,有效解决了串口通讯中出现因大量数据传输而造成的延时


联系方式

  • 地址:上海松江 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201600
  • 联系电话:未提供
  • 经理:聂航
  • 手机:15221406036
  • 微信:15221406036
  • QQ:3064686604
  • Email:3064686604@qq.com