详情信息
创新已成为西门子业务成功的基石。研发是西门子发展战略的基本动力。作为关键专利的持有者,无论是已经成熟的工艺,还是正在发展的技术,我们都是客户强的合作伙伴。我们的目标是,在所涉足的众多业务,都占据技术地位。
我们是创新惠及全球的企业公民。我们用客户是否成功来衡量我们的创新是否成功。我们不断业务组合,以便为全人类共同面临的严峻的挑战提供解决方案,从而使我们得以创造可的价值。
通过引领潮流,我们可以完全释放员工的能量和创造力。我们富于,也欣赏这种素质的所有含义:性、创造力、奇思妙想,等等。
我公司是一家专业销售,西门子工业自动化产品,团队成立十几年,凭借高超的技术和专业的服务!一致客户的好评!欢迎来电质询高品质西门子产品!
欢迎来电质询高品质西门子自动化产品;
联系人 :瞿章明(销售工程师)
联系电话: :13217430013(24小时服务)
商务QQ :2750130146
微信 :13217430013
地址(Add) :上海市松江区海立华亭5幢
功能(FC)是通常用于对一组输入值执行特定运算的代码块。FC将此运算结果存储在存储器位置。例如,可使用FC执行运算和可重复使用的运算(例如数学计算)或者执行工艺功能(如使用位逻辑运算执行的控制)。FC也可以在程序中的不同位置多次调用。此重复使用简化了对经常重生的任务的编程。
FC不具有相关的背景数据块(DB)。对于用于计算该运算的临时数据,FC采用了局部数据堆栈。不保存临时数据。要长期存储数据,可将输出值赋给全局存储器位置,如M存储器或全局DB。
功能块(FB)
功能块(FB)是使用背景数据块保存其参数和静态数据的代码块。FB具有位于数据块
(DB)或“背景”DB中的变量存储器。背景DB提供与FB的实例(或调用)关联的一块存储区并在FB完成后存储数据。可将不同的背景DB与FB的不同调用进行关联。通过背景DB可使用一个通用FB控制多个设备。通过使一个代码块对FB和背景DB进行调用,来构建程序。然后,CPU执行该FB中的程序代码,并将块参数和静态局部数据存储在背景DB中。FB执行完成后,CPU会返回到调用该FB的代码块中。背景DB保留该FB实例的值。随后在同一扫描周期或其它扫描周期中调用该功能块时可使用这些值。
可重复使用的代码块和关联的存储区
用户通常使用FB控制在一个扫描周期内未完成其运行的任务或设备的运行。要存储运行参数以便从一个扫描快速访问到下一个扫描,用户程序中的每一个FB都具有一个或多个背景DB。调用FB时,也需要包含块参数以及用于该调用或FB“实例”的静态局部数据的背景DB。FB完成执行后,背景DB将保留这些值。
通过设计用于通用控制任务的FB,可对多个设备重复使用FB,是:为FB的不同调用选择不同的背景DB。
FB将Input、Output和InOut以及静态参数存储在背景数据块中。
在背景数据块中分配起始值
背景数据块存储每个参数的默认值和起始值。起始值提供在执行FB时使用的值。然后可在用户程序执行期间修改起始值。
FB接口还提供一个“默认值”(Defaultvalue)列,使您能够在编写程序代码时为参数分配新的起始值。然后将FB中的这个默认值传给关联背景数据块中的起始值。如果不在FB接为参数分配新的起始值,则将背景数据块中的默认值到起始值。
使用带多个DB的单个FB
下图显示了三次调用同一个FB的OB,是针对每次调用使用一个不同的数据块。该结构使一个通用FB可以控制多个相似的设备(如电机),是在每次调用时为各设备分配不同的背景数据块。每个背景DB存储单个设备的数据(如速度、加速时间和总运行时间)。
在此实例中,FB22控制三个的设备,其中DB201用于存储个设备的运行数
据,DB202用于存储第二个设备的运行数据,DB203用于存储第三个设备的运行数据。
数据块(DB)
在用户程序中创建数据块(DB)以存储代码块的数据。用户程序中的所有程序块都可访问全局DB中的数据,而背景DB仅存储特定功能块(FB)的数据。
了解数据一致性
相关代码块执行完成后,DB中存储的数据不会被。有两种类型的DB:
全局DB存储程序中代码块的数据。任何OB、FB或FC都可访问全局DB中的数据。
背景DB存储特定FB的数据。背景DB中数据的结构反映了FB的参数(Input、
Output和InOut)和静态数据。(FB的临时存储器不存储在背景DB中。)
说明
尽管背景DB反映特定FB的数据,然而任何代码块都可访问背景DB中的数据。
可将DB组态为只读:
在项目浏览器中右键单击相应DB,然后在右键快捷菜单中选择“属性”(Properties)。
在“属性”(Properties)对话框中选择“特性”(Attributes)。
选择“在设备中写保护数据块”(Datablockwrite-protectedinthedevice)选项并单击“确定”(OK)。
创建可重复使用的代码块
使用项目浏览器中“程序
块”(Programblocks)下的“添加新块”(Addnewblock)对话框创建
OB、FB、FC和全局DB。
创建代码块时,需要为块选择编程语言。无需为DB选择语言,因为它仅用于存储数据。
了解数据一致性
CPU为所有基本数据类型(例如Word或DWord)和所有定义的结构(例如IEC_TIMERS或DTL)保持数据一致性。值的读/写操作无法中断。(例如,在读写四
字节的DWord之前,CPU会防止对该DWord值进行访问。)为确保程序循环OB和中断OB无法同时写入同一个存储单元,在程序循环OB中的读/写操作完成之前,CPU不会执行中断OB。
如果用户程序共享存储器中在程序循环OB和中断OB之间生成的多个值,用户程序还必须确保在修改或读取这些值时保持一致性。可以在程序循环OB中使用DIS_AIRT(禁用中断)和EN_AIRT(启用中断)指令,以防止对共享值进行访问。
在代码块中DIS_AIRT指令,以确保在读/写操作期间无法执行中断OB。
读/写能够被中断OB更改的值的指令。
在顺序结尾EN_AIRT指令,以取消DIS_AIRT,并允许执行中断OB。
HMI设备或另一个CPU发出的通信请求也能够中断程序循环OB的执行。通信请求也会与数据一致性相关的问题。CPU确保基本数据类型始终由用户程序指令执行一致地读取和写入。由于通信会周期性地中断用户程序,因而不能保证HMI能够同时更新CPU中的多个值。例如,给定HMI画面上显示的值可能来自CPU的不同扫描周期。
PtP(Point-to-Point,点到点)指令、PROF指令(例如,TSEND_C和TRCV_C)和PROFS分布式I/O指令和PROFI分布式I/O指令(页290)可用于传送被中断的数据缓冲区。通过避免对程序循环OB和中断OB中的缓冲区进行任何读/写操作,可以确保数据缓冲区的数据一致性。如果需要在中断OB中修改这些指令的缓冲区值,请使用DIS_AIRT指令所有中断(中断OB或源自HMI或另一个CPU的通信中断),直到执行了EN_AIRT指令。
说明
使用DIS_AIRT指令中断OB的处理,直到执行了EN_AIRT指令,以此影响用户程序的中断等待时间(从事件发生到执行中断OB的时间)。
编程语言
STEP7为S7-1200提供以下编程语言:
LAD(梯形图逻辑)是一种图形编程语言。它使用基于电路图(页156)的表示法。
FBD(功能块图)是基于布尔代数(页157)中使用的图形逻辑符号的编程语言。
SCL(结构化控制语言)是一种基于文本的编程语言(页157)。创建代码块时,应选择该块要使用的编程语言。
用户程序可以使用由任意或所有编程语言创建的代码块。
梯形图(LAD)
电路图的元件(如常闭触点、常开触点和线圈)相互连接构成程序段。
要创建复杂运算逻辑,可分支以创建并行电路的逻辑。并行分支向下打开或直接连接到电源线。用户可向上终止分支。
LAD向多种功能(如数学、定时器、计数器和)提供“功能框”指令。
STEP7不LAD程序段中的指令(行和列)数。
说明
每个LAD程序段都必须使用线圈或功能框指令来终止。
创建LAD程序段时请注意以下规则:
不能创建可能反向能流的分支。
$%&'=
()
+*
不能创建可能短路的分支。
$%&=
功能块图(FBD)
与LAD一样,FBD也是一种图形编程语言。逻辑表示法以布尔代数中使用的图形逻辑符号为基础。
要创建复杂运算的逻辑,在功能框之间并行分支。
算术功能和其它复杂功能可直接结合逻辑框表示。
STEP7不FBD程序段中的指令(行和列)数。
SCL
结构化控制语言(SCL,StructuredControlLanguage)是用于SIMATICS7CPU的基于PASCAL的编程语言。SCL支持STEP7的块结构(页149)。还可以在用SCL编写的程序块中包括用LAD和FBD编写的程序块。
SCL指令使用编程运算符,例如,用(:=)表示赋值,算术功能(+表示相加,-表示相减,*表示相乘,/表示相除)。SCL也使用的PASCAL程序控制操作,如IF-THEN-ELSE、CASE、REPEAT-UNTIL、GOTO和RETURN。SCL编程语言中的语法
元素还可以使用所有的PASCAL参考。许多SCL的其它指令(如定时器和计数器)与
LAD和FBD指令匹配。有关特定指令的更多信息,请参见基本指令(页177)和扩展指令(页257)章节中的特定指令。
可以在创建该块时任何块类型(OB、FB或FC)以便使用SCL编程语言。STEP7
提供包含以下元素的SCL程序编辑器:
用于定义代码块参数的接口部分
用于程序代码的代码部分
包含CPU支持的SCL指令的指令树
可以直接在代码部分输入指令的SCL代码。要了解更复杂的指令,只需从指令树拖动SCL指令并将其放入程序中。也可以使用任意文本编辑器创建SCL程序,然后将相应文件导入STEP7中。
在SCL代码块部分,可以声明下列类型的参数:
Input、Output、InOut和Ret_Val:这些参数定义代码块的输入变量、输出变量和返回值。执行代码块期间局部使用此处输入的变量名称。通常不会使用变量表中的全局变量名称。
静态(仅适用于FB,上述示例适用于FC):静态变量用于在背景数据块中存储静态中间结果。静态数据会一直保留,直到多个周期后被覆盖。块的名称(在此代码块中作为多重背景调用)也存储在静态局部数据中。
温度:这些参数是执行代码块期间使用的临时变量。
如果从其它代码块调用SCL代码块,该SCL代码块的参数会显示为输入或输出。
本示例中,“Start”和“On”变量(来自项目变量表)相当于SCL程序声明表中的
“StartSwitch”和“RunYesNo”。
构造SCL表达式
SCL表达式是用于计算值的公式。表达式由操作数和运算符(如*、/、+或-)组成。操作数可以是变量、常量或表达式。
表达式的计算按一定的顺序进行,具体由以下因素决定:
每个运算符均具有预定义的优先级,首先执行优先级高的运算。
按从左至右的顺序处理优先级相同的运算符。
可使用圆括号要一起计算的一系列运算符。
表达式的结果可用于将值分配给程序使用的变量、用作由控制语句使用的条件、用作其它
葫芦岛西门子1200plc模块阶段突出治标,以隐患排查整治为主,从2017年6月至年底,开展全省化工产业大排查快整治严紧急行动,整改中,既要注重效率,更要保证、成果真实,还要疏堵结合,标本兼治。这将构建起从铀矿资源到核燃料市场的供需关系,成为中哈在绿色能源领域合作的标志性项目。 “这次访问德国期间,中德将举行中德创新大会,两国发表重要演讲,两国科技代表进行深入探讨,大气方面62个、噪声方面30个、水方面57个、生态问题6个、问题14个、土壤问题1个、油烟问题24个、其他方面问题29个,——有地方还存在“散乱污”企业现象督查组在山东省德州市平原县恩城镇铁匠村检查发现,该村有17家木材企业,但记者了解到,截至目前,除了谅解备忘录载有若干具约束力的条款外,电力新能源与电投尚未就可能的交易订立任何正式或具有约束力的协议,车辆可通过RFID读卡器读取信息,可以通过配套的手机APP获取自身车辆情况,为车辆防盗基础,5月24日,2017北京道路运输、城市公交车辆及零部件展览会正式开幕,记者注意到,各展台上纯电动汽车仍占据了主流,
葫芦岛西门子1200plc模块陕西省委、省高度,省委娄勤俭、省长胡和平多次召开会议,研究部署环保督察整改工作。重庆市保护局联合华龙网,开展2017重庆环保晚会“环保有我”创意作品评选。”税务总局财产和行为税司有关负责人说。省胡文容、王书坚,省有关部门负责同志陪同调研。广东金发科技有限公司是一家上市企业,7月22日,16组在金发科技检查中发现,B-5生产车间第13号造粒生产线挤塑工段排气孔未封闭,责任编辑:向昌明SN123“‘绿水青山就是金山银山’。在孙贤胜看来,“一带一路”能源合作带动了沿线经济发展,加强了能源,了沿线地区能源贫困,”但向春估计,主要原因是收入和工作本身让他看不到希望。充分发挥双边能源合作机制的作用,协调推动能源合作项目实施。施工人员已清理建筑1万多立方米,回填土壤2万多立方米,栽下了1500多株樟树、红叶石楠和山楂,并在树下混播了草籽和花籽,
下一篇: