西门子6ES7331-7PF01-0AB0库存现货

报价
请来电询价
品牌
西门子
产品规格
模块式
产地
德国
关键词
西门子代理商,西门子模块代理商,西门子一级代理商,西门子PLC代理,西门子中国代理商
更新时间
2026-06-02 07:38

1  引言

    HMI(人机界面)以其体积小,高性能,强实时等特点,越来越多的应用于工业自动化系统和设备中。它有字母、汉字、图形和图片等不同的显示,界面简单友好。配有长寿命的薄膜按钮键盘,操作简单。它一般采用具有集成度高、速度快、高可靠且价格低等优点的单片机[1]作为其核心控制器,以实现实时快速处理。 PLC和单片机结合不仅可以提PLC的数据处理能力,还可以给用户带来友好简洁的界面。本文以Modbus通讯协议为例,详细讨论了一个人机系统中,如何用C51实现单片机和PLC之间通讯的实例。

2  Modbus通讯协议

    Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络和其它设备之间可以通信。

     Modbus协议提供了主—从原则,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。主设备查询的格式:设备地址(或广播,此时不需要回应)、功能代码、所有要发送的数据、和一错误检测域。从设备回应消息包括确认地址、功能码、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。

     控制器能设置为两种传输模式:ASCII和RTU,在同样的波特率下,RTU可比ASCII方式传送更多的数据,所以采用KTU模式。

RTU消息帧的地址域包含8bit。可能的从设备地址是0...127(十进制)。其中地址0是用作广播地址,以使所有的从设备都能认识。主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应。

     RTU消息帧中的功能代码域包含了8bits,当消息从主设备发往从设备时,功能代码域将告之从设备需要执行哪些行为;当从设备回应时,它使用功能代码域来指示是正常回应(无误)还是有某种错误发生(称作异议回应,一般是将功能码的高位由0改为1)。

     从主设备发给从设备消息的数据域包含附加的信息:从设备必须用于进行执行由功能代码所定义的行为。这包括了像不连续的寄存器地址,要处理项的数目,域中实际数据字节数。如果没有错误发生,从从设备返回的数据域包含请求的数据。如果有错误发生,此域包含一异议代码,主设备应用程序可以用来判断采取下一步行动。

     当选用RTU模式作字符帧时,错误检测域包含一16Bits值(用两个8位的字符来实现)。错误检测域的内容是通过对消息内容进行循环冗长检测(CRC)方法得出的。CRC域附加在消息的后,添加时先是低字节然后是高字节。

3  常用功能通讯程序的设计

     本文介绍了几个Modbus常用功能程序的设计。笔者采用单片机作为主机,在单片机上编写程序实现单片机与PLC之间的通讯。由单片机向PLC发出命令信息,PLC自动作出回应。PLC通过单片机的串行通讯口通讯,程序用C51实现。程序的子函数及其功能:

  (1) 串口初始化

  void ProtocolInit(void)

  函数功能:串口设置为异步通讯方式1(起始位1位,数据位8位,停止位1位);定时/计数器1设置为波特率发生器,通讯速率 9600bps;开串行中断,并把串行中断设置为高优先级。

  (2) CRC简单函数

  unsigned char Crc16(unsigned char *puchMsg, unsigned char usDataLen)

  函数功能:先调入一值是全“1”的16位寄存器,然后调用一过程将消息中连续的8位字节各当前寄存器中的值进行处理。每个8位字符都单独和寄存器内容相或 (OR),结果向低有效位方向移动,高有效位以0填充。LSB被提取出来检测,如果LSB为1,寄存器单独和预置的值或一下,如果LSB为0,则不进行。整个过程要重复8次。在后一位(第8位)完成后,下一个8位字节又单独和寄存器的当前值相或。终寄存器中的值,是消息中所有的字节都执行之后的 CRC值。

  (3) 初始化变量

  void Initvar(void)

  函数功能:初始化所有过程变量。

  (4) 串行中断服务程序

  void ProtocolSerialProcess(void) interrupt 4 using 2 
   
  函数功能:发送中断发送主机形成的命令数组,发送完后置标志位;接收中断接收PLC返回的响应数组,存入接收数组,并置标志位,且假设响应正确,留待主机处理。

  (5) 读N个位变量(线圈)

  void ProtocolRead_bit(unsigned char DeviceAddr/* PLC局号*/, unsigned char RegType/*寄存器类型*/, unsigned int BitAddr/*起始地址*/, unsigned char SubAddr/*子地址*/, unsigned int BitNum/*位数*/)

  函数功能:根据函数参数,形成读N个位变量的命令数组,启动发送。等待发送完并接收完(如超时未接收完则重新发送)。分析接收数组:正确,保存读取的数据;错误,重新发送。

  (6) 写一个位变量

  void ProtocolSetBit(unsigned char DeviceAddr/* PLC局号*/, unsigned char RegType/*寄存器类型*/, unsigned int BitAddr/*地址*/, unsigned char SubAddr/*子地址*/, unsigned int ClrSet/*写值“1”或“0”*/)

  函数功能:根据函数参数,形成置某位变量为“1”或“0”的命令数组,启动发送。等待发送完并接收完(如超时未接收完则重新发送)。分析接收数组:正确,返回;错误,重新发送。    

  (7) 读N个字节变量

  void ProtocolReadByte(unsigned char DeviceAddr/* PLC局号*/, unsigned char RegType/*寄存器类型*/, unsigned int RegAddr/*起始地址*/, unsigned char SubAddr/*子地址*/, unsigned int RegNum/*个数*/)

  函数功能:根据函数参数,形成读N个字节变量的命令数组,启动发送。等待发送完并接收完(如超时未接收完则重新发送)。分析接收数组:正确,保存读取的数据;错误,重新发送。

  (8) 写N个字节变量

  void ProtocolSetByte(unsigned char DeviceAddr/* PLC局号*/, unsigned char RegType/*寄存器类型*/, unsigned int RegAddr/*起始地址*/, unsigned char SubAddr/*子地址*/, unsigned int RegNum/*个数*/)

  函数功能:根据函数参数,形成写N个字变量的命令数组(要写的数从某参数数组中读取),启动发送。等待发送完并接收完(如超时未接收完则重新发送)。分析接收数组:正确,返回;错误,重新发送。

4  结束语

    以上的程序已经通过实验,并应用于实际的人机系统中。依照类似的方法,可以编写其他不同功能的程序,实现对PLC的不同控制和操作。利用单片机和PLC进行优势互补,可以组成网络化、智能化的工业控制系统。另外整个单片机系统程序用C51语言编程,程序简洁,便于阅读与调试。单片机和人机界面结合可以实时的显示PLC的工作状况,实时的控制、设置、调整PLC工作情况,提高工业控制的自动化程度和实时性。

 随着PLC的推广普及,PLC产品的种类和数量越来越多,而且功能也日趋完善。近年来,从美国、日本、德国等国引进的PLC产品及国内厂家组装或自行开发的产品已有几十个系列、上百种型号。PLC的品种繁多,其结构型式、性能、容量、指令系统、编程方法、价格等各不相同,适用场合也各有侧重。因此,合理选择PLC,对于提高PLC在控制系统中的应用起着重要作用。

1 机型的选择

  PLC机型选择的基本原则是,在功能满足要求的前提下,选择可靠、维护使用方便以及性能价格比的优化机型。

  在工艺过程比较固定、环境条件较好(维修量较小)的场合,建议选用整体式结构的PLC;其它情况则好选用模块式结构的PLC。

  对于开关量控制以及以开关量控制为主、带少量模拟量控制的工程项目中,一般其控制速度无须考虑,因此,选用带A/D转换、D/A转换、加减运算、数据传送功能的低档机就能满足要求。

  而在控制比较复杂,控制功能要求比较高的工程项目中(如要实现PID运算、闭环控制、通信联网等),可视控制规模及复杂程度来选用中档或机。其中机主要用于大规模过程控制、全PLC的分布式控制系统以及整个工厂的自动化等。根据不同的应用对象,表1列出了PLC的几种功能选择。

 对于一个大型企业系统,应尽量做到机型统一。这样,同一机型的PLC模块可互为备用,便于备品备件的采购和管理;同时,其统一的功能及编程方法也有利于技术力量的培训、技术水平的提高和功能的开发;此外,由于其外部设备通用,资源可以共享,因此,配以上位计算机后即可把控制各独立系统的多台PLC联成一个多级分布式控制系统,这样便于相互通信,集中管理。

2 输入/输出的选择

  PLC是一种工业控制系统,它的控制对象是工业生产设备或工业生产过程,工作环境是工业生产现场。它与工业生产过程的联系是通过I/O接口模块来实现的。

  通过I/O接口模块可以检测被控生产过程的各种参数,并以这些现场数据作为控制信息对被控对象进行控制。同时通过I/O接口模块将控制器的处理结果送给被控设备或工业生产过程,从而驱动各种执行机构来实现控制。PLC从现场收集的信息及输出给外部设备的控制信号都需经过一定距离,为了确保这些信息的正确无误,PLC的I/O接口模块都具有较好的抗干扰能力。根据实际需要,一般情况下,PLC都有许多I/O接口模块,包括开关量输入模块、开关量输出模块、模拟量输入模块、模拟量输出模块以及其它一些特殊模块,使用时应根据它们的特点进行选择。

  2.1 确定I/O点数

  根据控制系统的要求确定所需要的I/O点数时?应再增加10%~20%的备用量,以便随时增加控制功能。对于一个控制对象,由于采用的控制方法不同或编程水平不同,I/O点数也应有所不同。

  列出了典型传动设备及常用电气元件所需的开关量的I/O点数。

2.2 开关量输入/输出

  通过标准的输入/输出接口可从传感器和开关(如按钮、限位开关等)及控制(开/关)设备(如指示灯、报警器、电动机起动器等)接收信号。典型的交流输入/输出信号为24~240V,直流输入/输出信号为5~240V。

  尽管输入电路因制造厂家不同而不同,但有些特性是相同的。如用于消除错误信号的抖动电路;免于较大瞬态过电压的浪涌保护电路等。此外,大多数输入电路在高压电源输入和接口电路的控制逻辑部分之间都设有可选的隔离电路。

  在评估离散输出时,应考虑熔丝、瞬时浪涌保护和电源与逻辑电路间的隔离电路。熔丝电路也许在开始时花费较多,但可能比在外部安装熔丝耗资要少。

  2.3 模拟量输入/输出

  模拟量输入/输出接口一般用来感知传感器产生的信号。这些接口可用于测量流量、温度和压力,并可用于控制电压或电流输出设备。这些接口的典型量程为-10~+10VV、0~+10V、4~20mA或10~50mA。

  一些制造厂家在PLC上设计有特殊模拟接口,因而可接收低电平信号?如RTD、热电偶等?。一般来说,这类接口模块可用于接收同一模块上不同类型的热电偶或RTD混合信号。

  2.4 特殊功能输人/输出

  在选择一台PLC时,用户可能会面临一些特殊类型且不能用标准I/O实现的I/O限定?如定位、快速输入、频率等?。此时用户应当考虑供销厂商是否提供有特殊的有助于大限度减小控制作用的模块。有些特殊接口模块自身能处理一部分现场数据,从而使CPU从耗时的任务处理中解脱出来。

  2.5 智能式输入/输出

  当前,PLC的生产厂家相继推出了一些智能式的输入/输出模块。一般智能式输入/输出模块本身带有处理器,可对输入或输出信号作预先规定的处理,并将处理结果送入CPU或直接输出,这样可提高PLC的处理速度并节省存储器的容量。

  智能式输入/输出模块有高速计数器(可作加法计数或减法计数)、凸轮模拟器(用作编码输人)、带速度补偿的凸轮模拟器、单回路或多回路的PID调节器、ASCII/BASIC处理器、RS-232C/422接口模块等。表3归纳了选择I/O模块的一般规则。

3 PLC存储器类型及容量选择

  PLC系统所用的存储器基本上由PROM、E-PROM及PAM三种类型组成,存储容量则随机器的大小变化,一般小型机的大存储能力低于6KB,中型机的大存储能力可达64KB,大型机的大存储能力可上兆字节。使用时可以根据程序及数据的存储需要来选用合适的机型,必要时也可专门进行存储器的扩充设计。

  PLC的存储器容量选择和计算的种方法是:根据编程使用的节点数jingque计算存储器的实际使用容量。第二种为估算法,用户可根据控制规模和应用目的,按照表4的公式来估算。为了使用方便,一般应留有25%~30%的裕量,获取存储容量的佳方法是生成程序,即用了多少字。知道每条指令所用的字数,用户便可确定准确的存储容量。表4同时给出了存储器容量的估算方法。

4 软件选择

  在系统的实现过程中,PLC的编程问题是非常重要的。用户应当对所选择PLC产品的软件功能有所了解。通常情况下,一个系统的软件总是用于处理控制器具备的控制硬件的。但是,有些应用系统也需要控制硬件部件以外的软件功能。例如,一个应用系统可能包括需要复杂数学计算和数据处理操作的特殊控制或数据采集功能。指令集的选择将决定实现软件任务的难易程度。可用的指令集将直接影响实现控制程序所需的时间和程序执行的时间。

5 支撑技术条件的考虑

  选用PLC时,有无支撑技术条件同样是重要的选择依据。支撑技术条件包括下列内容:

  (1)编程手段

  便携式简易编程器主要用于小型PLC,其控制规模小,程序简单,可用简易编程器。

  CRT编程器适用于大中型PLC,除可用于编制和输入程序外,还可编辑和打印程序文本。

  由于IBM-PC已得到普及推广,IBM-PC及其兼容机编程软件包是PLC很好的编程工具。目前,PLC厂商都在致力于开发适用自己机型的IBM-PC及其兼容机编程软件包,并获得了成功。

  (2)进行程序文本处理

  简单程序文本处理以及图、参量状态和位置的处理,包括打印梯形逻辑;

  程序标注,包括触点和线圈的赋值名、网络注释等,这对用户或软件工程师阅读和调试程序非常有用。

  图形和文本的处理。

  (3)程序储存方式

  对于技术资料档案和备用资料来说,程序的储存方法有磁带、软磁盘或EEPROM存储程序盒等方式,具体选用哪种储存方式,取决于所选机型的技术条件。

  (4)通信软件包

  对于网络控制结构或需用上位计算机管理的控制系统,有无通信软件包是选用PLC的主要依据。通信软件包往往和通信硬件一起使用,如调制解调器等。

6 PLC的环境适应性

  由于PLC通常直接用于工业控制,生产厂都把它设计成能在恶劣的环境条件下可靠地工作。尽管如此,每种PLC都有自己的环境技术条件,用户在选用时,特别是在设计控制系统时,对环境条件要给予充分的考虑。

  一般PLC及其外部电路(包括I/O模块、辅助电源等)都能在表5所列的环境条件下可靠工作。

7 结束语

  随着科技的不断进步,PLC的种类日益繁多,功能也逐渐增强。文章中尽管归纳了一些选用PLC的方法,但在实际工作中还一定要依据实际情况做出适当的调整,以便设计出满足期望的控制系统。


西门子代理商,西门子模块代理商,西门子一级代理商,西门子PLC代理,西门子中国代理商
浔之漫智控技术-西门子PLC代理商已认证
统一社会信用代码
91310117MA1J3R698D
成立日期
2019年09月10日
法定代表人
袁宜男
注册资本
500

主营产品

西门子PLC模块,变频器,触摸屏,交换机

经营范围

从事智能科技、自动化科技、机电领域内的技术开发、技术转让、技术咨询、技术服务,工业自动化设备安装,工业自动化控制设备、电气设备、机申设备、电子产品、五金产品、金属材料、仪器仪表、橡塑制品销售,商务信息咨询,软件开发,建筑装修装饰建设工程专业施工,建筑安装工程(除特种设备),机械设备租赁(不得从事金融租赁),物业管理。工业自动化设备加工、销售。

公司简介

本公司销售的一律为原装正品,假一罚十,可签正规的产品购销合同,可开增值税发票,税点另外算,24小时销售热线:15221406036 本公司销售的一律为原装正品假一罚十可签正规的产品购销合同可开增值税发票税点另外算24小时销售热线15221406036 西门子触摸屏代理商,西门子一级代理商,西门子中国授权总代理 ----浔之漫智控技术(上海)有限公司   本公司专业经销合信/CO-TRUST科思创西门子PLC;S7-200S7-300 S...

查看公司详情
电话/手机
15221406036
微信号
15221406036
QQ
3064686604
邮箱
3064686604@qq.com
经理
聂航
地址
上海市松江区广富林路4855弄星月大业领地88号3楼
我们其他产品
我们的新闻
微信咨询
拨打电话