吉林市西门子模块代理商交换机供应商
吉林市西门子模块代理商是一家为客户提供各种西门子PLC、CPU、电源电缆、变频器、触摸屏、伺服机和低压软启动器的代理商。而作为西门子的官方代理商,他们为客户提供销售、售后服务等全方位的支持。
其中,代理商*主要的产品之一就是西门子的交换机。作为一款高端产品,西门子交换机在市场上拥有着德国制造的优质品质。它能够快速稳定地将数据传输到目标设备上,极大地提高了生产效率。
浔之漫智控技术(上海)有限公司是西门子授权PLC模块供应商
很多从日系PLC或者200PLC过来的人,很不习惯于S7 1200 或者TIA PORTAL 里面的一些术语,比如OB,DB,FC,FB等等,其实这些术语也包含于S7 300,400 ,1500等,所以讲解的内容,理论上也适应于这些PLC。虽然我没有玩过这些东西,但是TIA PORTAL适合于西门子全系列PLC,很多概念性的东西都是一致的。S7 1200的功能强大正式基于拥有各种类型的block和多种变量类型。
我会用不一样观点来讲述PLC编程,相比于很多普通的PLC教程,你会发现很多有趣的地方。
S7 1200 由以下几类基本元素组成:
OB:组织块,英文名Organization block。组织块是CPU系统和用户程序之间的接口,可以在CPU上电启动时调用,也可以循环调用,也可以在PLC发生错误时候调用。
DB:数据块,英文名Data block。从字面含义便知主要用于储存用户数据,比如模拟量转换数据,相当于200里面的V区,欧姆龙PLC的W区。
FC:函数,英文名Function。我们常常在FC函数中写一些需要重复执行的代码,可以在程序不同地方调用,可以被OB调用,也可以被FC调用。使用FC可以简化我们需要重复执行的任务,提高代码的运行效率。FC类似于200的子程序。
FB:FC+DB组合,意思是含有DB块的FC函数,与FC的区别是当函数调用结束后,通过Static变量仍然可以保留数值,经常用于调用间的数据共享。
OB组织块
当我们新建一个程序时,系统会自动建立一个Main[OB1]程序,该程序会在PLC的每个扫描周期被调用。Main程序和200里面的主程序,是一个同样的概念。也类似于C里面的Main ,即为函数点,我们可以在Main程序里面调用各种函数和块。下面的图是在程序中调用一个FC和FB,然后在FC中调用另外一个FC,形成嵌套调用。
注:、、、是别名,方便我们记忆和理解,真正的地址在[.....]中,如OB1,FC2,FC1,FB1等等。
图1 Main程序
图2 Main调用结构
图1显示了Main程序具体内容,图2显示了Main程序的调用结构。图中很多元素的概念,我们暂时不需要了解,但是可以看到一些整体概念,Mian程序包含程序段1(NW1)和程序段2(NW2),在Main的调用结构中包含了3个元素test、调用FB和调用FC。其实应该是4个,还有一个嵌套在中,点击左侧箭头,出现如下图所示:
图3 FC嵌套调用
图4 OB分类
我们来分析上图中的OB类型。OB块主要用于程序循环、启动、延时中断、循环中断、硬件中断、HSC中断、诊断错误和时间错误事件。OB块还有两个属性是编号和**级,**级越高,中断级别越高。在同样的**级别,OB编号越小,越**执行。从图1中,我们看到Main程序的地址在OB1,是一个循环运行程序,**级为1较低。时间错误事件的**级,当发生该事件时,会暂停执行Main程序,**执行时间错误事件OB块。程序循环OB类块的编号属性为“1;>=123”,意为我们可以创建多个类似OB块。因为新建程序默认OB编号为1,假设我们要创立该事件类型OB块,那么默认编号为123起,同时OB1的执行要**于OB123。诊断错误事件OB块和时间错误OB块只有一个。
要对SEND_PTP赋值参数,先需要创建SEND_PTP的背景数据块和发送缓冲数据块 ,双击“Devices”——> “PLC_1”——>“Program Block ”——“Add new block”,在弹出的串口命名DB_Send_PTP,选择DB块,在Type后选择“SEND_PTP(SFB113)”
图8: 创建发送功能块的背景数据块
插入背景DB后,再插入发送缓冲DB块,重复上面的步骤,只是在选择DB类型为“Global DB”,并去掉“Symbolic access only”选项勾(这样可以对该DB块进行直接地址访问),并取名该DB块为DB_SEND_BUFF。建好这两个DB块后,双击打开DB_SEND_BUFF预先定义好要发送的数据,如下图所示:
图9:在接收缓冲区中接收到的数据
定义完发送缓冲区后,接下来可以对SEND_PTP赋值参数,赋值参数后如下图:
图10:发送编程
在上面的编程块里需要注意的是,在发送缓冲区时。字符的开始地址是从*二个字节,而不是零字节开始,即是P#DB2.DBX2.0 Byte10 而不是P#DB2.DBX0.0 Byte10,原因是由于S7-1200对字符串的存放的格式造成的,S7-1200对字符串的前两个字节的定义字节是的字符长度,*二个字节是实际的字符长度。接下来才是存放实际字符。如下图:
图11:String存储格式
上面完成了程序的编写,对项目进行编译;右击PLC_1项目在弹出的菜单里选择“Complies ALL”选项,这样对硬件与软件进行编译,如下图:
图12:编译项目
编译且没有错误后可以下载程序到PLC中,同样右击PLC_1项目,在弹出的菜单选择“Download to Device”。
②、用串叉线连接S7-1200的串口与计算机的串口,打开计算机的*级终端程序,并设置硬件端口参数如下图:
启动模式设置
S7-1200 启动模式可以在“CPU 属性-常规-启动” 进行设置。如下图 1 所示:
图 1. CPU启动选项设置
①“上电后启动”:定义了CPU 上电后的启动特性,共有以下三个选项,用户可根据项目的特点及性来选择,默认选项为“暖启动-断电前的操作模式”:
“不重新启动(保持为STOP 模式)”:CPU 上电后直接进入STOP 模式;
“暖启动-RUN模式”:CPU 上电后直接进入RUN模式;
“暖启动-断电前的操作模式”:选择该项后,CPU上电后将按照断电前该CPU 的RUN模式启动,即断电前CPU处于运行模式,则上电后 CPU 依然进入RUN模式;如果断电前CPU 处于STOP状态,则上电后CPU进入STOP模式。
如果在发生掉电或故障时,CPU 处于 STOP 模式,则 CPU 将在上电时进入 STOP 模式并保持 STOP 模式,直至收到进入 RUN 模式的命令;
如果在发生掉电或故障时,CPU 处于 RUN 模式,则在未检测到可禁止 CPU 进入 RUN 模式的条件下,CPU 将在下次上电时进入 RUN 模式。
②“比较预设与实际组态”:定义了 S7-1200 PLC站的实际组态与当前组态不匹配时的 CPU 启动特性:
“仅在兼容时,才启动CPU”:所组态的模块与实际模块匹配(兼容)时,才启动CPU。
“即便不匹配,也启动CPU”:所组态的模块与实际模块不匹配(不兼容)时,也启动CPU。
注意:
如果选择了"即便不匹配,也启动CPU",此时的用户程序无常运行,必须采取相应措施!所以要慎重选择该项。
③ “组态时间”:在 CPU 启动过程中,为集中式 I/O 和分布式 I/O分配参数的时间,包括为 CM 和 CP 提供电压和通信参数的时间。如果在设置的“组态时间”内完成了集中式 I/O 和分布式 I/O的参数分配,则CPU立刻启动;如果在设置的“组态时间”内,集中式 I/O 和分布式 I/O未完成参数分配,则 CPU 将切换到 RUN 模式,但不会启动集中式 I/O 和分布式 I/O;
④ “OB应该可中断”:“OB应该可中断”后,在OB 运行时,*高**级的中断可以中断当前OB,在此OB 处理完后,会继续处理被中断的 OB。如果不“OB应该可中断”,则**级大于2的任何中断只可以中断循环OB,但**级为2~25的OB不可被*高**级的OB 中断。
启动时 CPU 执行的操作
启动特性:
在暖启动期间,所有非保持性位存储器内容都将并且非保持性数据块内容将复位为来自装载存储器的起始值。将保留保持性位存储器和保持性 DB 中的内容。
不管选择哪种启动模式,已编写的所有启动 OB 都会执行。
不执行任何基于时间的程序。
中断控制的程序的执行于:OB 82(诊断中断)
禁用模块上的输出。
不*新过程映像;可以对输入进行直接 I/O 访问。
如下图 2 所示:
图 2. 启动时 CPU 执行的操作
关于 启动 OB 的详细说明, 请参考以下文档:
S7-1200 启动(Start up)组织块
常见问题:
1.
哪些情况会导致 S7-1200 CPU 无法启动?
以下的情况会导致 S7-1200 CPU 断电后再上电无法启动:
检测到的某些错误会阻止 CPU 进入 RUN 模式;
在“CPU 属性-常规-启动” 设置为不重新启动(保持为 STOP 模式);
暖启动 - 断电前的模式:CPU 组态为“暖启动 - 断电前的模式”,且在发生掉电或故障时,CPU 处于 STOP 模式,则 CPU 将在上电时进入 STOP 模式并保持 STOP 模式;
在 CPU 设备组态的属性里选择了“允许通过用户程序重新组态设备”。而 WRREC 指令在启动 OB 中传送完控制数据记录后组态控制才会生效。如果已启用组态控制但 CPU 不具有控制数据记录,则在退出 STARTUP 模式时会转到 STOP 模式。
具体请参考:
组态控制功能
2. 为什么CPU断电后,再上电CPU没有报任何错误,但CPU却运行不起来?
答:原因是CPU没有硬件开关用于启停控制,CPU上电后的启停由CPU属性中的“启动”选项来决定(如图1所示)。其默认设置为“暖启动-断电前的操作模式”,此时如果是断电前CPU因故障停止,那么再上电后即使没有故障,CPU也会延电前的状态,保持STOP 模式。或者设置成“不重新启动”,则CPU 上电后直接进入STOP 模式。如果在以上两种模式下,CPU无法启动,需要通过博途软件在线功能启动CPU。
所以必须将启动选项设置为“暖启动-RUN模式”,才能保证在没有错误的情况下,CPU上电后直接进入RUN模式。
3.
组态设备网络S7-1200是西门子公司的新一代小型PLC,代表了下一代PLC的发展方向。它集成了以太网接口和很强的工艺功能,编程软件STEP 7 Basic集成了用于人机界面组态的WinCC Basic,硬件和网络的组态、编程和均采用图形化的方式。
1.
为方便的以太信。
使用普通的以太网电缆,可以下载和,提供了笔记本电脑与PLC通信的简单的方法。
2.指令系统的设计简单合理,有的指令(例如数据转换指令)可以设置一个或两个操作数的数据类型,
一条指令相当于S7-200/300/400的多条指令。
3.
只有梯形图和功能块图语言
,没有语句表语言。
4.程序结构基本上与S7-300/400相同。指令系统、程序结构和编程软件应该与
替代S7-300/400的S7-1500兼容。
5.STEP 7 Basic采用与西门子人机界面的组态软件WinCC flexible类似的多窗口界面,同时显示项目树窗口、程序区、组态和显示信息的巡视窗口,以及指令表或人机界面的对象列表等。软件的使用为方便,例如可以将变量表和块的接口区中的局部变量直接拖放到梯形图中。
软件很容易上手。
6.各种硬件、网络和参数采用形象直观的图形和表格组态的方法来设置。比S7-200的“向导”功能和系统块
*为直观和方便。
7.集成的WinCC Basic的功能和界面与WinCC flexible基本上相同。PLC与精简系列面板在同一个项目中组态和编程,人机界面可以直接使用PLC的变量。指示灯比WinCC flexible的*好用。
有人机界面仿真功能。
除了交换机之外,代理商还提供了丰富的西门子PLC产品。这些产品具有高精度、高速度的特点,适应各种不同的现场控制环境。而西门子的CPU、电源电缆、变频器、触摸屏、伺服机和低压软启动器等相关产品也同样具备高质量、高可靠性等优点。
作为西门子的代理商,其核心竞争力就在于产品质量的保证和完善的售后服务。他们能够为客户提供多元化的解决方案,对于每个客户的需求给予专业的建议和技术支持,力求为客户提供*优质的产品和服务。
总的来说,吉林市西门子模块代理商是一家以西门子PLC、CPU、电源电缆、变频器、触摸屏、伺服机和低压软启动器为主打产品的代理商。作为西门子的正式代理商,他们销售的产品具有德国设计和制造的优质品质,并为客户提供全方位的售前售后支持。如果你有这方面的需求,那么他们是****。