齐齐哈尔西门子中国代理商CPU供应商
- 供应商
- 浔之漫智控技术(上海)有限公司-西门子总代理商
- 认证
- 品牌
- 西门子
- 型号
- PLC模块
- 产地
- 德国
- 联系电话
- 19542938937
- 手机号
- 19542938937
- 联系人
- 刘经理
- 所在地
- 上海市松江区石湖荡镇塔汇路755弄29号1幢
- 更新时间
- 2023-08-01 08:00
齐齐哈尔西门子中国代理商cpu供应商
齐齐哈尔市xxx贸易有限公司是西门子中国代理商之一,作为该地区领先的cpu供应商,公司提供了西门子plc模块、电源电缆、变频器、触摸屏、伺服机、低压软启动器等一系列优质产品。
西门子plc模块是该公司的主打产品之一,它是一种高性能自动化控制器,能够对复杂的控制任务和自动化任务进行有效处理。这种plc模块具有可编程性、工业级可靠性和高效能性,能够满足各种工业控制领域的需求。
浔之漫智控技术(上海)有限公司是西门子授权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.
作为西门子plc模块的代理商,该公司可以提供多款型号的产品,以满足不同客户的需求。这些plc模块均来自西门子德国总部,其制造工艺和质量一直处于****水平。
除了plc模块,该公司还提供了西门子电源电缆、变频器、触摸屏、伺服机、低压软启动器等产品。这些产品广泛应用于各个工业控制领域,帮助客户提高效率、降低成本。
作为西门子中国代理商,该公司一直秉承着“优质服务、诚实守信”的经营理念,为客户提供了高品质的产品和完善的服务。未来,该公司将继续与西门子密切合作,共同为客户创造更大的价值。