西门子S7-1200 控制器是我们新推出产品的核心,可实现简单却高度精确的自动化任务。西门子S7-1200 控制器实现了模块化和紧凑型设计,功能强大、投资安全并且*适合各种应用。可扩展性强、灵活度高的设计,可实现标准工业通信的通信接口以及一整套强大的集成技术功能,使该控制器成为完整、全面的自动化解决方案的重要组成部分。
产品简介
详细介绍
广东西门子S7-1200*代理商(欢迎您)
需要特别注意的是以上的是可以完成模拟量功能了,但我们看到的温度变化是很快的,这是因为PLC每个扫描周期就执行一次模拟量采集和模拟量运算这个时间是很快的一般就20ms就执行一次,所以里面的数字变化是非常快,在这种情况下我们就要求平均值,具体的方法就是用累加指令在把累加的数据在除以累加的次数就可以。一般累加次数在5到10次之间。
西门子的模拟量跟三菱的是不一样的他的分辨率比三菱要高,西门子EM231是提供一个16位分辨率的模块大数字量是32000也就是一个字的容量。西门子的模拟量在使用方法上面也和三菱不一样,因为西门子没有增益和偏置调节电位器,所有对应的数字量是经过公式计算出来的。虽然如此但西门子的程序模块化,在程序设计上面要简化得多直接在AIW数据寄存器里面就可以得到原始数据。
我就一个200度的传感器简单说说,这个传感器输出的模拟电流是4到20mA,西门子的数字量是0到32000,如果按照三菱的算法则就会出错,因为4mA不是对应数字量0而是6400,因为他们是1600倍的关系,4mA乘以1600=6400,所以我们得求出数字量6400和32000和温度200的一个系数,具体公式是这样的(32000-6400)除以200=128.这个128就是他们的系数,如果温度传感器是400度就除以400。
后我们把AIW数据寄存器里面的数据除以128就是当前温度了,需值得注意的是西门子的模拟量在中断程序里面
在实际应用过程中,某些时候可能会采用VB/DELPHI/VC等高级语言,自主编程与西门子PLC进行通讯,这类帖子、论文在网上都可以找到,在此总结一下。
1、Prodave通讯
Prodave是西门子提供的一个软件包,为高级语言编程和plc通讯提供接口。
通讯接口:MPI
因为MPI口是每块cpu的编程口,所以plc不需要另外添加通讯模块,这个方案就比较经济,而且prodave软件包里面附带了example和详细的说明,用起来应该比较简单和方便(本人只匆匆看过文档,没有实验过)。这方面的资料在百度上很多。当然,mpi的速度是有限的,如果采用普通的pcadapter连接pc和plc,高速度也就38.4kbps,我不知道prodave能否支持mpi卡(5611之类的话),如果可以的话速度可以达到187.5kbps。
2、串行通讯
看到过一些论文,采用串行通讯的方法实现pc和plc通讯。这种情况存在几点要求:
a、需要为plc添加一块串行通讯模块,比如300的话就需要cp340或者cp341(前者便宜些);
b、plc里面需要对串行通讯进行编程,其实也就是接收报文和发送报文,调用fb2/fb3(cp340的话)。
c、串行通讯的速度是有目共睹的,而且cp340或者cp341的数据吞吐量也是有限的,即报文长度是有限制的,因此个人认为通讯数据量大的话采用串行通讯就不合适了。
d、报文格式的话就比较自由,但是也应当合理,我虽然没有具体实验过,但是个人认为可以参考modbus的报文结构来编程,甚至就采用modbus的规范,不过这样的话要求编程者对pc和plc侧的modbus编程都要熟悉。
3、OPC
Opc是这些年来很流行的东西,其实我很讨厌opc的安全认证的设定。不过采用opc编程来访问plc真的是一件非常轻松惬意的事情。你需要做的就是了解opc的结构和编程,尤其是采用vb来编写opc简直是件傻瓜化的工作当然也牺牲了很多。
前面我实验了用vb通过opc(以太网)来访问300,包括用西门子的simaticnet提供的opc接口和第三方的kepserver。
采用opc接口编程的优点:通讯速度快,编程简单。
4、以太网编程
采用以太网编程访问plc,其实又可以分为两种:
一种是socket接口,需要在plc里面编程进行收/发,大概是fc5/fc6吧,印象不深了,当然plc里面要定义一个connection,填好地址、端口号之类的信息,这个对于熟悉西门子工业通讯的人是很easy的事情。Pc侧采用socket接口编程,较简单的就是vb里面的wisock控件,当然这掩盖了很多细节。Socket编程本来就是一门艺术,讲究说学逗唱:)
这个方法的优点应该是pc侧编程稍微简单点(相对于后一种),而且可以不局限于windows平台,因为socket接口被诸如unix支持的更好。
第二种是采用西门子的sapi接口函数,这样plc里面不需要过多的编程了,当然pc侧的编程难度就比较高了,ms只能用c来写,所以我望而却步鸟。看过相关帖子和论文,有高人在项目里面就这么干的,而且数据量很大,看来高人很多很多啊,向他们致敬!关于sapi的资料其实都在simaticnet软件光盘里面,有兴趣的可以去找来看看。
西门子S7-300/400的PLC用户程序结构与S7-200有明显的不同,可以使用线性化结构以及功能调用式结构与结构化编程。
采用调用式结构与结构化编程时,程序以组织块(OB)、程序块(FC)、功能块(FB)、系统程序块( SFC)、系统功能块(SFB)、数据块(DB)等形式出现,其中,组织块(OB)、程序块(FC)、功能块(FB)统称为“逻辑块(Logic Block)”;系统程序块(SFC)、系统功能块(SFB)统称为“系统块”。
(1)组织块(OB)
组织块(Organization Blocks,简称OB)提供了PLC内部CPU操作系统与用户程序间的接口,它是由CPU操作系统直接进行调用的逻辑块,用来管理PLC程序中各组成部分的调用和执行中断。OB决定了PLC用户程序的结构与块的调用顺序,起到了“管理”用户程序的作用。
S7-300/400不同的CPU类型,可以选择、支持不同的OB块,但OB1是所有PLC用户程序的循环控制块,它是运行PLC用户程序的前提条件,因此,任何PLC程序、任何CPU都不可以缺少OB1。
OB块的调用条件被称为“触发事件”,根据“触发事件”的不同,OB块可以分为若干级别,各个级别有不同的优先级,高优先级的OB可以中断低优先级OB的执行。如果需要,S7系列PLC除OB1外,还可以使用多个OB块。
(2)程序块(FC)
程序块(Function,简称FC)是由用户编写的、不需要专门数据块的常用逻辑块。
FC块在程序中一般不可以重复调用,在大多数场合,FC块应直接使用PLC的“地址”或“符号地址”进行编程,但根据需要,可以定义部分程序变量。
与S7-200 -样,FC块的“临时变量”同样存储在局部变量数据堆栈(L)中,这一区域为全部程序块所公用,只可以用于FC块内部使用的中间运算结果寄存(这些中间运算结果不可以用于FC块外部);程序块执行完成后,局部变量数据堆栈内的数据将被其他块所需要的内容所替代。如果需要保存可以用于其他逻辑块的状态,应使用PLC的内部标志寄存器M或使用“数据块DB”。
在程序块FC中,有部分为PLC生产厂家所提供的、集成在S7 CPU操作系统中的逻辑块,称为系统程序块(System Function,简称SFC)。系统程序块SFC属于PLC内部操作系统的一部分,用户不需要编写,也不可以对其进行编辑,但可以根据需要直接调用。
(3)功能块(FB)
功能块(Function Blocks,简称FB块)是由用户编写的、需要数据块(Instance Data Blocks,称为“即时数据块”或“背景数据块”,简称DI)支持的常用逻辑块。
FB块与FC块的作用基本相同,但FB中除可以使用“地址”或“符号地址”进行编程外,在结构化编程时必须使用“程序变量”进行编程,因此,FB必须配套的、独立的数据存储区域——“即时数据块DI”。DI -方面可以为调用FB提供执行程序所需要的“程序变量”赋值与其他数据,另一方面,功能块FB也能通过DI给调用它的逻辑块返回所需要的数据。
与功能调用块FC -样,功能块FB中也有部分为PLC生产厂家所提供的、集成在S7 CPU操作系统中的功能块,称为系统功能块(System Function Blocks,简称SFB)。系统功能块SFB同样属于PLC内部操作系统的一部分,用户不需要编写,也不可以对其进行编辑,但可以根据需要直接调用。
(4)数据块(DB)
数据块(Data Blocks,简称DB)是用来存放执行用户程序时所需的数据与存储程序执行结果的数据存储区,其作用与标志寄存器类似,但数量更多。数据块DB按不同的用途可以分为即时数据块(Instance DataBlocks,又称背景数据块,简称DI)和通用数据块(Data Blocks,又称共享数据块,简称DB)两类。
即时数据块( DI)用于传递功能块的参数,只能被的功能块FB访问。调用功能块FB时,必须同时用于该功能块的即时数据块DI,即时数据块内的数据可以自动生成,它们可以是FB变量声明表中的数据(不含临时变量)。
S7-400
S7-400 自动化系统采用模块化设计。它拥有丰富的模块,这些模块可进行各种组合。
系统包含下列组件:
电源模块 (PS):
用于将 SIMATIC S7-400 连接到 120/230 V AC 或 24 V DC 电源电压。
CPU:
配有集成 PROFIBUS DP 接口的不同 CPU 具有不同性能范围。根据具体型号,这些 CPU 也可以带有集成 PROFINET 接口。使用 PROFIBUS接口,多可以连接 125 个PROFIBUS DP 从站。可以将多 256 个 PROFINET IO 设备连接到 PROFINET 接口。SIMATIC S7-400 的所有 CPU 均可处理*型的配置。此外,在一个*控制器中的多重计算模式下,多个 CPU 可以协同工作以提高性能。这些 CPU 处理速度快且具有确定性响应时间,可实现较短机器循环时间。
用于数字量 (DI/DO) 和模拟量 (AI/AO) 输入/输出的信号模块 (SM)
通信处理器 (CP),例如,用于总线连接和端到点连接
功能模块 (FM):
用于完成计数、定位和凸轮控制等要求苛刻的任务的专业模块。
根据具体要求,也可使用下列模块:
接口模块 (IM):
用于连接*控制器和扩展单元。SIMATIC S7-400 的*控制器可带有多 21 个扩展单元运行。
SIMATIC S5 模块:
在相关 SIMATIC S5 扩展单元中,可以寻址 SIMATIC S5-115U/-135U/-155U 的所有输入/输出模块。此外,在 S5 EU 或者直接在 CC 中(使用适配器)都可以使用 SIMATIC S5 的特定 IP 和 WF 模块。
扩展
若用户需要在应用中使用一个以上*控制器时,则可以对 S7-400 进行扩展:
多 21 个扩展单元:
可将多 21 个扩展单元 (EU) 连接到*控制器 (CC)。
接口模块 (IM) 的连接:
通过发送和接收 IM 来连接 CC 和 EU。发送 IM 插到 CC 中,相关的接收 IM 插到下游 EU 中可将多 6 个发送 IM 插到 CC 中(其中多 2 个带 5-V 电源),并可将多 1 个 IM 插到 EU 中。每个发送 IM 均有 2 个接口,每个接口用于连接 1 条线路。可将多 4 个 EU(不带 5-V 电源)或 1 个 EU(带 5-V 电源)连接到发送 IM 的每个接口。
电源模块的固定插槽:
必须始终将电源模块插在 CC 和 EU 中的左侧。
通过 C 总线进行的数据交换受限制:
通过 C 总线进行的数据交换只能在 CC 和 6 个 EU(EU 1 至 EU 6)之间进行。
集中扩展:
建议用于小型配置和机器上的控制柜。也可以提供 5-V 电源。
CC 和后一个 EU 之间的线路距离:1.5 m(带 5 V 电源)、3 m(不带 5 V 电源)。
通过 EU 进行分布式扩展:
建议在面积很大工厂内采用,其中,多个 EU 位于各个位置。可以使用 S7-400 EU 或 SIMATIC S5 EU。
CC 和后一个 EU 之间的线路距离:对于 S7 EU,约 100 m;对于 S5 EU 约 600 m。
注意 将 S5 扩展单元分布式连接到:
IM 463-2 可在 S7-400 的 CC 中使用,IM 314 在 S5 EU 中使用。可将以下S5 EU 连接到 S7-400:
EG 183U
EG 185U
EG 186U
ER 701-2
ER 701-
(总)电缆长度
本地链路,具有 5-V 电源,通过 IM 460-1 和 IM 461-1 实现
本地链路,无 5-V 电源,通过 IM 460-0 和 IM 461-0 实现
远程链路,通过 IM 460-3 和 IM 461-3 实现
102.25 m
远程链路,通过 IM 460-4 和 IM 461-4 实现
ET 200 的分布式扩展:
建议用于面积很大的工厂。通过 CPU 的 PROFIBUS DP 接口,可以连接含有多 125 个总线节点的总线。CC 与总线上后一个节点之间的距离:23 km(使用光缆)。
S7-400 通信
SIMATIC S7-400 具有不同的通信选项:
组合了多点接口和 DP 主站,集成在所有CPU 中:
用于同时连接编程器/PC、HMI 系统、S7-200 和 S7-300 系统以及其它 S7-400 系统。
附加 PROFIBUS DP 接口,集成在多个 CPU 中,用于经济实用连接分布式 I/O 系统(例如,ET 200)。
PROFINET CPU 上的集成式 PROFINET 接口,用于连接到分布式 I/O 系统或与其它控制器和 PC 系统通信。
通信处理器,用于连接到 PROFIBUS 总线系统和工业以太网。
通信处理器,用于功能强大的点到点连接。
PLC存储器包含系统存储器和用户存储器两部分。
系统存储器用来存放由PLC生产厂家编写的系统程序,系统程序固化在ROM内,用户不能直接更改,它使PLC具有根本的功用,能够完成PLC设计者规则的各项作业。
系统程序质量的好坏,很大程度上决定了PLC的功用,其内容首要包含三部分。*部分为系统管理程序,它主要操控PLC的运转,使整个PLC按部就班地作业。第二部分为用户指令解释程序,经过用户指令解释程序,将PLC的编程言语变为机器言语指令,再由CPU履行这些指令。第三部分为规范程序模块与系统调用,它包含许多不同功用的子程序及其调用管理程序,如完成输入、输出及特殊运算等的子程序。PLC的详细作业都是由这部分程序来完成的,这部分程序的多少也决定了PLC功用的凹凸。
用户存储器包含用户程序存储器(程序区)和功用存储器(数据区)两部分。用户程序存储器用来存放用户针对详细操控使命用规则的PLC编程言语编写的各种用户程序,以及用户的系统配置。用户程序存储器依据所选用的存储器单元类型的不同,能够是RAM(有掉电维护)、EPROM或EEPROM存储器,其内容能够由用户恣意修正或增删。用户功用存储器是用来存放(回忆)用户程序中使用器件的ON/OFF状况/数值数据等。用户存储器容量的大小,关系到用户程序容量的大小,是反映PLC功用的重要指标之一。
离散制造业的明星产品PLC又是怎么一回事?咱们对PLC又有着怎样的了解,今日就站在PLC的来源、历史地位和发展视点,和朋友们一起探讨什么是PLC这个看似单调老掉牙的论题。
可能有朋友会有疑问,这又不是历史课,为什么要讲来源和历史地位呢?正所谓,以史为鉴,能够知兴替。了解PLC的来龙去脉,才能更明晰的明白PLC存在的意图,了解它的重要性,才能学得更有方向性。不过,也请朋友们放心,历史并不单调,那都是故事串联起来的。下面跟咱们分享两个跟PLC来源有关的故事。
PLC的来源的两个小故事
*个故事:
曾经有一个爱滑雪的工程师,名叫迪克·莫利,他从MIT毕业之后进入一家公司,从事飞行器、通讯体系的设计作业。安静的迪克认真地做着设计、沉溺其间,虽没人留意,但正是他,改变了整个制造业。
1968年1月1日酩酊大醉之后,迪克灵光乍现写下了人类一个PLC的蓝图。这个还没命名的东西应有如下特性:没有进程中止;直接映像进入存储器;没有软件处理重复的业务;巩固的设计以便能真实地作业;运转速度慢,当然,莫利先生随后认识到该特性是一个过错;还要有自己的编程语言,值得一提的是,几个月之后,梯形图逻辑就此面世。
后来,迪克就和他的朋友创立了*康公司来完成这个设想。PLC随后诞生了。
第二个故事:
第三次工业革命的兴起,给了莫利先生的PLC团队一个青史留名的时机。
通用轿车公司发现,每次出产新的车型,整个出产线就要从头折腾一遍,不计其数根电缆都要从头接,不光时间长,还容易犯错,出了错还不好找,声称“查找5小时,修理5分钟”。1968年,为了适应轿车型号不断更新的需求,并能在竞争激烈的轿车工业中占有优势,通用轿车公司提出要研发一种新式的工业操控设备来替代继电器操控设备,为此,拟定了10项公开招标的技术要求。包含Modicon084在内的3款产品参加竞争,另外两个品牌分别是,美国数字设备公司的PDP-14和3-I公司的PDQ-II。
经过竞争,Modicon084凭仗操编程简略、操作便当、环境适应性强等特色成功获得了通用轿车的操控器研发项目,终通用从*康采购了100万美元左右的设备,从此PLC开始流行。
PLC在第三次工业革命中的地位
再来看看PLC在第三次工业革命中占有了怎样的地位。
事实上,从20世纪四五十年代以来,原子能、电子计算机、微电子技术、航天技术等范畴不断获得重大突破,第三次科技革命随之到来。这期间,一大批新式工业诞生,其间划年代含义的是电子计算机的迅速发展和广泛运用,不只开拓了信息年代,也带来了知识经济。知识经济兴旺程度的凹凸更是成为各国综合国力+竞争中成败的关键所在。
而电子计算机技术在工业上广泛运用的代表就是PLC, 1969年上*台PLC:Modicon084, 可谓是开放了工业操控的 PLC 年代。PLC集软件编程、芯片技术、自动化技术于一体,可谓*。在自动化上,还没有哪个单一创造能对制造业有如此大的影响。
PLC与DCS的差异
说到PLC,就不得不提DCS,两者如影随形。
这个论题,在工业界现已争辩了至少40年,要搞懂他们在争辩啥,就必定要弄清楚二者之间的根本差异。许多刚入行的朋友,乃至作业几年的老工程师都不能体系的讲清楚这两者的差异。今日我从历史渊源的视点来谈谈两者的差异,期望对咱们的了解有所帮助。
先导入观念:DCS,侧重于体系操控,而PLC,侧重于逻辑操控。这是谁规定的?为什么要这么区分呢?
从来源上说:DCS是从模拟量外表发展起来的,以模拟量为主。PLC是从电气继电器发展起来的,以数字量为主。所以DCS侧重于模拟量体系的全体操控,而PLC侧重于局部的逻辑操控。
再从网络结构上说,他们大的差异还在于通讯,因为DCS通讯网络的通用性让DCS具有很好的扩展性。而PLC搭建好后则很难随意增减,也就很难随意扩展了。
从稳定性上说,DCS为双冗余,可完成无忧切换,而双路PLC,成本就会较高。
从发展趋势上说,DCS和PLC各有优势,两者分别向对方拿手的行业彼此浸透和交融。
广东西门子S7-1200*代理商(欢迎您)