起订量:
昆明西门子PLC代理商
昆明西门子PLC代理商
S7-300/400不同的CPU类型,可以选择、支持不同的OB块,但OB1是所有PLC用户程序的循环控制块,它是运行PLC用户程序的前提条件,因此,任何PLC程序、任何CPU都不可以缺少OB1。
OB块的调用条件被称为“触发事件”,根据“触发事件”的不同,OB块可以分为若干级别,各个级别有不同的优先级,高优先级的OB可以中断低优先级OB的执行。如果需要,S7系列PLC除OB1外,还可以使用
多个OB块。 程序块(Function,简称FC)是由用户编写的、不需要专门数据块的常用逻辑块。上海桀呈工业自动化设备有限公司
FC块在程序中一般不可以重复调用,在大多数场合,FC块应直接使用PLC的“地址”或“符号地址”进行编程,但根据需要,可以定义部分程序变量。
与S7-200 -样,FC块的“临时变量”同样存储在局部变量数据堆栈(L)中,这一区域为全部程序块所公用,只可以用于FC块内部使用的中间运算结果寄存(这些中间运算结果不可以用于FC块外部);程序块执行完成后,局部变量数据堆栈内的数据将被其他块所需要的内容所替代。如果需要保存可以用于其他逻辑块的状态,应使用PLC的内部标志寄存器M或使用“数据块DB”。
西门子中国总代理200CN
概述
S7-200系列PLC适用于各行各业,各种场合中的检测、监测及控制的自动化。S7-200系列的强大功能使其无论在独立运行中,或相连成网络皆能实现复杂控制功能。因此S7-200系列具有*的性能/价格比。
拿三菱比较有优势的小型机FX系列和西门子S7-200系列比
1、 三菱的编程软件从早期的FXGPWIN到近期的GX8.0(我所知道的),和所有的日系品牌一样,该软件的编程思路是自上而下的单一纵向结构,而西门 子的MicroWIN则是纵向和横向兼备的结构,而且子程序支持局部变量,相同的功能只需要编一次程序即可,大大减少了开发难度和时间
2、S7-200一直以来支持强大的浮点运算,编程软件直接支持小数点输入输出,而三菱直至近年推出的FX3U系列才有此种功能,以前的FX2N系列的浮点功能都是假的
3、S7-200的模拟量输入输出程序非常简单方便,AD、DA值可以不需编程直接存取的,三菱的FX2N及其以前的系列都需要非常繁琐的FROM TO指令。FX3U如今倒支持此功能了,但足足晚了五年甚至更多
4、CPU226和CPU224XP,标准配置2个485口即PPI口,通讯速度187.5K,三菱FX3U之前的所有系列都是一个可怜的422口,而且速度是9.6K。如果需要连个智能仪表什么的则必须另购FX2N0-485BD等特殊模块
5、CPU226的程序容量20K,数据容量14K,FX2N总共才8K.后来的3U倒是有所改进 但三菱的FX2N系列有两个优势,一是高速计数器指令比S7-200方便 二是422口比西门子的PPI口皮实(因为200系列的PPI口是非光电隔离的,非规范操作和仿制的编程电缆可能会导致串口损坏) 西门子近推出的S7-1200系列直接支持以太网接口,而且由于集成了计数和测量、闭环控制和运动控制的工艺,因此FX3U再次被西门子远远超越 以上的比较仅仅是小型机 至于西门子的300和400系列以及更大型的TDC系列,这里就无需多言了,一句话,谁用谁知道
西门子的PCS7软件是博大精深的,所有的日系品牌都只能望其项背 学PLC,三菱是很容易上手的,因为直来直去思路简单 但从学习的角度讲,肯定是西门子更好 还是那句话,用了PCS7,才知道日系的软件是垃圾】
还有西门子PLC的通口有两个,三菱的有一个,两个通口可以一个连接下载数据线一个连接触摸屏进行调试程序,否则你就要拔下触摸屏数据线再连接触摸屏数据线来回调整程序非常麻烦
西门子plc s7-200调试的步骤是什么? 西门子plc检查接线
用万用表诸根检查面板上按钮、指示灯、转换开关到端子排的接线;端子排到plc输入输出端子的接线;电源到plc、触摸屏的接线。plc之间、plc和触摸屏之间的通讯线缆制作和插接。
确保做到以下几点:
1. 所有接线牢固、无松动,无短路:所有电源正(l)接点不得与电源负(n)相导通,无断路:所有同一回路中不经过触点和用电器的的线接点应导通,线号正确,标识便于理解。
2. 电源正负(l和n)接线正确、无颠倒,所有电源电压应符合用电器电压允许范围。
3. 传感器、用电器回路接线正确:保证回路由电源正(l)到触点或io接口再到用电器或传感器(包括端子排预留接口)再回到电源负(n)。
4. 各类传感器或用电器接线方式正确:两线制、四线制电流信号传感器、热电阻传感器,继电器线圈和触点等接线符合接线标准和电气原理。
发现接线有不当或错误之处,立即纠正。
西门子plc系统上电
依次进行一下检查,如发现问题,马上查找原因解决。
1. 测量电源输入电压在允许范围内后,系统上电。
2. 测量开关电源输出电压是否正常。
3. 观察plc电源指示灯是否正常,触摸屏是否正常开机并显示。
4. 按下按钮、转动转换开关、短接相应触点或端子排开关量输入预留接口,观察plc模块的di对应指示灯是否点亮,亮度是否正常,有无闪烁。
5. 短接plc模块do输出接口和电源漏极或源极模拟do输出,观察对应继电器是否吸合,吸合是否可靠。
6. 将端子排模拟量输入接口接入信号源(四线制电流)或测试用传感器(两线制电流、热电阻等),用万用表测量信号是否正常,是否符合信号范围,线性变化是否正常。
西门子仿真测试程序和组态画面
将编写好的plc控制程序和触摸屏及上位机组态画面用仿真软件和编写的模拟运行程序进行仿真测试。确保做到:
1. plc程序io变量与实际plc模块地址对应正确。
2. plc程序各子程序功能可行且可靠,模拟能考虑到的各种现场情况并测试它们对程序运行产生的影响,修改完善子程序功能。模拟并排查程序运行一段时间可能产生的问题(如数据溢出,寻址错误,死循环等)。尽量使子程序代码健壮,重用性强,同时优化程序执行时间。
3. 按照现场可能遇到的各种情况模拟测试整个控制程序的运行,包括手动单独控制、手动一键控制、自动控制等,确保程序运行可靠、稳定。
4. 触摸屏和上位机组态画面建立的外部变量地址与plc程序中的相应变量对应正确,将组态项目集成到plc项目中,这样plc的变量可以导入到组态项目中,避免重复工作,减少错误(不适用于小型触摸屏)。
5. 结合plc程序和仿真软件模拟测试组态画面中的动画效果和数值、文字显示以及各种按钮、控件的功能。测试报表、趋势、报警信息等功能是否正常。
西门子下载程序和组态画面并调试通讯
1. 检查上位机与plc的通讯设置是否正确,向plc下载程序。检查plc之间的通讯设置和plc模块的地址拨码开关设置和dp插头上拉电阻设置,观察plc通讯指示灯是否正常。通过上位机监控测试plc之间通讯是否成功。
2. 检查上位机与触摸屏的通讯设置是否正确,向触摸屏传输组态画面。检查触摸屏组态项目中与相应plc的通讯设置,测试plc与触摸屏通讯是否成功。
3. 检查上位机组态项目与plc的通讯设置,测试plc与上位机监控画面通讯是否成功。读模拟输入量程序
一些S7-300的应用系统中,使用8通道模拟量模块采集信号,当模块数量较多时,读模拟输入量就很繁琐。下面给出一个通用程序FC100,利用它可以方便地把模拟量读回并顺序存入数据块,因为模入模块的起始地址、通道数、存储数据块号及数据在数据块中的存储起始位置均是可变的,所以可在调用FC100时灵活确定。
Address Decl. Symbol Data Type Initial Value Comment
0.0 In PIW_Addr INT
模入模块通道起始地址
2.0 In CH_LEN INT
要读入的通道数
4.0 In DB_No INT
存储数据块号
6.0 In DBW_Addr INT
存储在数据块中的字地址
Network 1
L #DB_No
T LW0
OPN DB[LW 0] 打开存储数据块
L #PIW_Addr
SLD 3 形成模入模块地址指针
T LD4 在临时本地数据双字LD 4中存储模入模块地址指针
L #DBW_Addr
SLD 3 形成数据块存储地址指针
T LD8 在临时本地数据双字LD 8中存入数据块存储地址指针
L #CH_LEN 以要读入的通道数为循环次数,装入累加器1
NEXT:T LW 0
将累加器1的值,装入循环次数计数器LW0(临时本地数据字)
L LD4
LARl 将模入模块地址指针装入地址寄存器1
L PIW[ARl,P#0.0] 读模入模块装入累加器1
T LW2 将累加器1的内容暂存入缓冲器LW2
L LD8
LARl 将数据块存储地址指针装入地址寄存器1
L LW2 将数据缓冲器中的内容装入累加器1
T DBW[ARl,P#0.0] 将累加器的内容存入数据块中
L LD4 AR1+P#2.0→AR1
+ L#16 ACC1+(.._0001_0 000)
T LD4 调整模入模块地址指针,指向下一通道Acc1+(bb bbbb bxxx)
L LD8
+ L#16
T LD8 调整数据块存储地址指针,指向下一存储地址
L LW0 将循环次数计数器LW0的值装入累加器1
LOOP NEXT 若累加器1的值不为0,将累加器减1继续循环;若累加
器为0,则结束
在FC100中,寄存器间接寻址指令OP NDB[LW0]使用了临时本地数据LW0,变量表中定义的临时变量虽然也在L堆栈中,但不能用于存储器间接寻址,从这里也可看出临时本地数据与临时变量的区别。程序中LW2、LD4和LD8起的作用也可用临时变量替代。
下面举例说明如何使用FC100。在某应用中,机架0的4号槽位安装了一个8模入模块(地址256开始),若要将前6个模入模块信号读回,存入DB50.DBW10开始的6个字单元中,可按下列形式调用FC100:
CALL FC100
PIW_Add:= 256
CH_LEN:= 6
DB_No:= 50
DBW_Addr:= 10
数据块
数据块定义在S7 CPU存储器中,用户可在存储器中建立一个或多个数据块。每个数据块可大可小,但CPU对数据块数量及数据总量有限制,如对于CPU314,用作数据块的存储器多为8 KB(8192 B),用户定义的数据总量不能超出这个限制。对数据块必须遵循先定义后使用的原则,否则,将造成系统错误。
1. 定义数据块
在编程阶段和运行程序中都能定义数据块。大多数数据块是在编程阶段用STEP 7开发软件包定义的,定义内容包括数据块号及块中的变量(包括变量符号名、数据类型以及初始值等),定义完成后,数据块中变量的顺序及类型决定了数据块的数据结构,变量的数量决定了数据块的大小。数据块在使用前,必须作为用户程序的一部分下载到CPU中。
如果确实需要,还可以在程序运行中动态定义一个数据块。动态定义时,数据块号是自动产生的,数据块在存储器中的位置是动态分配的。由于要定义的数据块有可能大于CPU存储器(用于数据块的部分)的剩余空间,因此动态定义过程有可能失败
2.访问数据块
在用户程序中可能定义了许多数据块,而每个数据块中又有许多不同类型的数据,因此,访问时需要明确数据块号和数据块中的数据类型与位置。根据明确数据块号的不同方法,可以用多种方法访问数据块中的数据。
直接在访问指令中写明数据块号,如:
L DB5.DBW10
T DB10.DBW20
L Motor_1.Speed 符号地址
另一种方法是“先打开后访问”。在访问某数据块中的数据前,先“打开”这个数据块,也就是将数据块号(数据块的起始地址)装入数据块寄存器。这样,存放在数据块中的数据就可利用数据块起始地址加偏移量的方法来访问。如:
OPN DB5
L DBW10
OPN DB10
T DBW20
在打开一个数据块时,先打开的数据块会自动关闭(没有专门的数据块关闭指令)。由于有两个数据块寄存器(DB和DI寄存器),因此,多可同时打开两个数据块。一个作为背景数据块,数据块的起始地址存储在DI寄存器中;另一个作为共享数据块,数据块的起始地址存储在DB寄存器中。打开背景数据块,在调用FB时可以自动实现。由于调用FB时使用DI寄存器,因此,一般不在FB程序中用OPN DI n指令打开数据块。
3. 背景数据块和共享数据块
背景数据块和共享数据块有不同的用途。任何FB、FC或OB均可读写存放在共享数据块中的数据。背景数据块是FB运行时的工作存储区,它存放FB的部分运行变量。调用FB时,必须一个相关的背景数据块。作为规则,只有FB块才能访问存放在背景数据块中的数据。
一般情况下,每个FB都有一个对应的背景数据块,一个FB也可以使用不同的背景数据块。如果几个FB需要的背景数据*相同,为节省存储器,则可以定义成一个背景数据块,供它们分别使用。通过多重背景数据,也可将几个FB需要的不同的背景数据定义在一个背景数据块中,以优化数据管理。各数据块在CPU的存储器中是没有区别的,只是由于打开方式不同,才在打开时有背景数据块和共享数据块之分。原则上,任何一个数据块都可以当作共享数据块或背景数据块使用,实际上,一个数据块由FB当作背景数据块使用时,必须与FB的要求格式相符。
昆明西门子PLC代理商