西门子低压供应商
S7-1200 可扩展性强、灵活度高的设计。
较大的CPU较多
可
连接
八个信号
模块,以便支持其它数字量和模拟量 I/O。
CPU家族及模块
SIMATIC S7-1200具有集成化PROFINET接口、强大的集成工艺功能和灵活的可扩展性特点,为各种工艺提供了简单的通信和有效的解决方案,尤其满足多种应用中完全不同的自动化需求。
1.*处理器单元(CPU)
常规规范
CPU 1211C 技术规范
CPU 1212C 技术规范
CPU 1214C 技术规范
CPU 1215C 技术规范
CPU 1217C 技术规范
2.输入/输出扩展模块
技术规范
3.电源模块
技术规范
4.通信模块
技术规范
CM 1241 通信模块
紧凑型交换机模块 CSM 1277
CM 1243-5 PROFIBUS-DP 主站模块、西门子低压供应商
CM 1242-5 PROFIBUS-DP 从站模块
其他模块如CP 1242-7 GPRS 模块、TS 模块、CM 1278 I/O 主站模块略。SIM 1274
5.SIMATIC HMI 系列面板
型号规范
附录1.*处理单元接线图
型号见图片左下角
附录2.扩展模块接线图
型号见图片上方
关注机械学霸小程序,
免责声明:西门子这个自动化行业的巨人在simatic产品的历史长河里又一次投了一颗砾石激起了一片涟漪而这颗砾石的名字就叫作S7-1200,从产品命名上来看更像是S7-200的一个延伸或者升级,在这里笔者想详细的讲解一下这款产品,在讲解之前我觉得应该了解一下西门子PLC的家族史。
0西门子低压供应商
1
西门子PLC的历史
从西门子公司1872进入中国以来,中国自动化前进的之路一直有西门子自动化产品相伴,说到西门子的PLC大家都能说出那些耳熟能详的型号A7-200/300/400,但是可能大家并不知道这些产品并非所有都是西门子的德国血统,S7-300/400采用的是Step7编程而S7-200则采用Step7micro/win编程,曾经有很多人都叹息过为什么熟悉了S7-300产品之后再去学习S7-200产品佛换了一个公司产品而需要从头学起反之亦然。这是为什么呢?这就是因为S7-200产品是西门子利用收购的一家美国公司开发软件和产品,为了能够争夺PLC的低端市场而整合上市的。相信大家也看出来S7-200的编程模式和sm特殊寄存器设置都能够找到一些美日式PLC编程模式的痕迹,而西门子也一直寻找合适的时机开发属于德国血统的低端PLC产品
,就在2009年S7-1200这款产品应运而生。
0
2
S7-1200的市场定位
有人说S7-1200是S7-200的一个简单的升级,可以说这句话说得知其然而不知其所以然,因为它确实不是升级而是替代,为什么这样说呢!因为S7-1200的这个产品是西门子低端PLC产品的一记重拳。西门子已经停止除在中国的S7-200cn系列以外的S7-200生产线,S7-200CN以其低廉的价格还要争夺*三发展中国家的自动化市场份额。而在欧美低端市场将全部被S7-1200产品覆盖。在中国有很多厂商相继推出兼容S7-200的模块这也使得西门子在低端市场的份额占去一部分,所以为了降低成本而保住市场还要延续200CN系列的辉煌,而西门子将会把较新的通讯和控制技术应用在S7-1200这款产品上同样西门子也将会用S7-1200这款产品强力打造**PLC中低端市场。
0
3
S7-1200的产品定位
S7-1200这款产品的定位还是相当明确的,瞄准的正是中低端小型PLC产品线,硬件结构由紧凑模块化结构组成,系统io点数、内存容量,均比S7-200多出30%,充分满足市场的针对小型PLC的需求,现在很多离散行业和过程控制行业的小型单元和系统点数均是在离散点200以内、模拟点在36-48点之内,所以在这个时候S7-200将不能应对,客户只能选购S7-300中型PLC以大马拉小车形式来面对工程这也给客户造成了一定成本上的浪费。而S7-1200这款产品容量上的设计是在充分积累客户多年需求之上而得。
0西门子低压供应商
4
S7-1200的产品新特性
a)紧凑模块化结构
S7-1200产品延续了200紧凑式结构,cpu1214c的宽度仅有110mm,cpu1212c和cpu1211c的宽度也仅有90mm。通讯模块和信号模块的体积也十分小巧,使得这个紧凑的模块化系统大大节省了空间,从而在安装过程中为您提供了较高的效率和灵活性。另外S7-1200增加一个特殊结构的io模块叫做信号板,它是镶嵌在cpu箱体上的分别为2di/o和1ao这正是西门子设计精髓之道可以随时定制所需要补充的io模块,中小型工程的问题突显之处就是工程的不确定性,很有可能在工程实施过程当中出现di/o和ao不够用,而ai却是能够较为富裕信号通道。
b)强大的控制功能
系统集成了16路pid的控制回路,并且pid都是能够支持自适应的快速功能块,并且提供了pid参数调试和观测的控制画面,可以让用户在并不熟悉pid参数如何调整的情况下把工艺参数控制到所需标准。系统集成了多达6个高速计数器(3个100khz,3个30khz),用于精确监视增量编码器、频率计数或对过程事件进行高速计数。系统集成了2个高速输出,可用作高速脉冲输出或脉宽调制输出。当组态成pto时,它们将提供较高频率为100khz的50%占空比高速脉冲输出,以便对步进电机或伺服驱动器进行开环速度控制和定位控制。通过2个高速计数器对高速脉冲输出进行内部反馈。当组态成pwm输出时,将生成一个具有可变占空比的固定周期输出来控制电机速度、阀位置或加热元件的占空比。系统支持对步进电机和伺服驱动器进行开环速度控制和位置控制。对该功能的组态十分简单:通过一个轴工艺对象和通用的plcopen运行功能块即可实现。除了返回(home)和点动(jog)功能以外,还支持**、相对和速度运动。
c)经典的编程模式
S7-1200使用simaticstep7basic工具编程,而这款的工具的使用风格基本与step7professional一样,提供lad和fbd两种编程语言并采用ob组织块fb功能块fc功能函数db数据块的编程形式(通过背景db的支持可以实现功能块参数化调用),这次西门子公司终于把全线产品的编程风格统一了。
d)复杂的数据结构
复杂的数据结构意味着什么呢!其实就是数组、结构等这样的多元素组成的数据单位,而市面上很少会有低端plc的编程语言能够支持复杂的数据结构,都是采用扁平式的数据类型(bool、int、word、dword、real)。S7-1200这款产品继承了300/400中高端PLC所具备的数据结构开始支持数组和结构等。
e)指令参数的多态性
在西门子的经典的编程指令当中都是采用数据类型一致分类,例如加/减/乘/除的指令根据不同的数据类型是不同的指令,而在对S7-1200编程时不分数据类型只是调用功能,让功能块放置在network中时才会让用户选择是哪种的数据类型,这就轻松实现了参数的多态性。
f) 基于控制对象编程
刚才上文提到了S7-1200增加了db数据块和struckt数据类型,正因为具有了这两个*的条件这才引出此系统的一个很重要的功能,这就是基于控制对象的编辑和编程,添加控制对象也只需要单击一下鼠标。添加新的对象(如一个轴或一个 pid 控制器)时,工程组态系统的“添加新对象”(add new object)窗口中会显示相关设置。根据对象的功能为对象命名。微调各种对象时,用户可以使用功能描述,分配完对象的所有信息后,编辑器中会立即打开该对象。
g) 集成 hmi 工程组态
simatic step 7 basic 包括功能强大的hmi 软件 simatic wincc basic,用于对simatic hmi 精简系列面板进行高效的编程和组态。高效的工程组态包括,例如:通过智能拖放功能直接使用 hmi 项目中的控制器过程值。hmi 是整个项目的一部分,hmi 数据可始终保持一致性。hmi 和plc 之间的连接可以集中定义。还可以创建多个模板并分配给其它画面。完全集成的hmi 功能使组态 simatic hmi 精简系列面板变得十分方便且高效。
h) 通讯集成profinet接口
在当前自动化推崇工业以太网通讯的趋势中,西门子的全线产品已经开始“**盔贯甲”全部上了profinet的接口,而唯*低端产品S7-200还是停留在以太网通讯s7协议的这个层面上,这是为什么呢!因为西门子已经把具有profinet接口的S7-1200**上市了。S7-1200支持传统的以太网S7通讯同样也支持profinet工业以太网总线通讯主要是用于simatic hmi 精简系列面板(用于可视化);其它控制器(用于 PLC间的通讯);第三方设备(用于可选的高级集成)
i) 灵活的第三方通讯
与第三方方设备通讯一直都是PLC自动化厂商的软肋,而S7-1200配备了cm模块支持rs232/485以及自身以太网口通讯。针对串行通讯rs232/485采用使用功能块配置帧通讯的方式来完成数据流的通讯,并且S7-1200支持send_ptp 和 rcv_ptp功能块串行通讯的封装这样就意味着很容易封装出来各种串行通讯协议。而针对以太网S7-1200提供了tcp和udp的两种通讯方式,并且提供了标准 t-send/t-receive 功能块完善通讯的解决方案,例如完全可以利用这两组指令封装出来modbus-tcp协议库提供给用户。另外系统提供了丰富字符处理的指令库(left、right、delete、insert、replace、val_strg、strg_val 和s_conv)这就意味着增强了这款产品对通讯中ascii字符处理的能力,可以和大量第三方进行自定义字符通讯(称重、二次仪表、单片机等)。
0
5
S7-1200的产品展望
上边说了这么多S7-1200的一些特点,但并不表示这款产品就没有不足,“金无足赤人无完人”而且这款产品还是在成长过程当中,他在很多功能方面都不完善,例如:不支持profinet cab和io组态;不支持ppi、mpi和profibus通讯;不支持配方功能等,但是这些功能对于西门子开发并不是问题这也仅仅西门子为了能及早上市,把某些通讯模块和软件功能相继随后推出和规划在下一版本的软件中,所以用户现在可以因地制宜根据自己的项目范围使用此款产品,随着的快速复苏和欧美经济的衰退,现在正是出现大量中国设备出口的局面,而S7-200CN系列没有ce等是不能出口到欧美,而S7-1200正是良好的一款低端紧凑型PLC产品非常适合中小型开发项目和设备,并且如果需要与大量第三方设备通讯这款产品真是物尽其用,笔者在这里觉得这款产品将会在未来3年的自动化市场处处开花。S7-1200控制器使用灵活、功能强大,可用于控制各种各样的设备以满足您的自动化需求。S7-1200 设计紧凑、组态灵活且具有功能强大的指令集,这些特点的组合使它成为控制各种应用的**解决方案。
CPU将微处理器、集成电源、输入和输出电路、内置PROFINET、高速运动控制I/O以及板载模拟量输入组合到一个设计紧凑的外壳中来形成功能强大的控制器。在您下载用户程序后,CPU将包含监控应用中的设备所需的逻辑。CPU根据用户程序逻辑监视输入并更改输出,用户程序可以包含布尔逻辑、计数、定时、复杂数学运算以及与其它智能设备的通信。
CPU 提供一个PROFINET 端口用于通过 PROFINET网络通信。还可使用附加模块通过PROFIBUS、GPRS、RS485或RS232网络进行通信。
S7-1200PLC的组成:
① 电源接口西门子低压供应商
② 存储卡插槽(上部保护盖下面)
③ 可拆卸用户接线连接器(保护盖下面)
④ 板载 I/O的状态 LED
⑤ PROFINET连接器(CPU 的底部)
S7-1200PLC有多种安全功能可用于保护对CPU和控制程序的访问:
● 每个CPU都提供密码保护功能,用户可以通过该功能来组态对CPU功能的访问权限。
● 可以使用“专有技术保护”隐藏特定块中的代码。
● 可以使用复制保护将程序绑定到特定存储卡或 CPU当中。
S7-1200PLC的CPU型号:
对于具有继电器输出的 CPU 模块,必须安装数字信号板 (SB),以使用脉冲输出。
每个 CPU 提供**的 HMI 连接,以支持较多 3 个 HMI 设备。支持的 HMI 总数受组态中HMI面板类型的影响。例如,可以将较多 3 个 SIMATIC 基本面板连接到 CPU,或者较多可以连接两个SIMATIC精智面板与一个附加基本面板。不同的CPU型号提供了各种各样的特征和功能,这些特征和功能可帮助用户针对不同的应用创建有效的解决方案。
延时中断和循环中断在 CPU 中使用相同的资源。延时中断和循环中断的总和只能为 4 个。 不能有 4 个延时中断和 4 个循环中断。
CPU 的扩展功能:
S7-1200 系列提供了各种模块和插入式板,用于通过附加I/O或其它通信协议来扩展CPU 的功能。
① 通信模块 (CM)、通信处理器 (CP) 或 TS 适配器
② CPU
③ 信号板 (SB) 或通信板 (CB)
④ 信号模块 (SM)
数字量信号模块和信号板:
模拟量信号模块和信号板:
通信接口:
TS 适配器允许用户将各种通信接口连接到CPU的PROFINET端口。 将TS适配器安装在CPU左侧,然后将 TS 适配器模块(较多3个)连入TS 适配器。
S7-1200扩展模块:
HMI 基本型面板:
由于可视化逐渐成为大多数机器设计的标准组件,所以 SIMATIC HMI 基本型面板提供了用于执行基本操作员监控任务的触摸屏设备。
安装尺寸和间隙要求:
S7-1200 PLC 设计得易于安装。紧凑型设计都有利于有效利用空间。
每个CPU、SM、CM和CP都支持安装在DIN导轨或面板上。使用模块上的DIN导轨卡夹将设备固定到导轨上。设备上DIN卡夹的孔内部尺寸是4.3mm。可将卡夹掰到一个伸出位置将设备直接安装到面板上的螺钉安装位置。要注意的是一定要将设备与热辐射、高压和电噪声隔离开。留出足够的空隙以便冷却和接线。必须在设备的上方和下方留出25 mm的发热区以便空气自由流通。
安装尺寸 (mm):
要注意的是安装或拆卸已上电的S7-1200或相关设备可能会导致电击或意外设备操作。务必遵守适当的安全预防措施,确保在尝试安装或拆卸 S7-1200 CPU 或相关设备前断开 S7-1200 的电源。西门子S7-1200 紧凑型PLC在当前的市场中有着广泛的应用,由于其性价比高,所以常被用作小型自动化控制设备的控制器,这也使得它经常与第三方的设备如扫描、打印机等设备进行通讯。因为没有第三方的设备,这里就以**级终端为例介绍自由口通讯。
1.控制系统原理
图1:控制系统原理
2.硬件需求
S7-1200 PLC目前有3种类型的CPU:
1)S7-1211C CPU。
2)S7-1212C CPU。
3)S7-1214C CPU。
这三种类型的CPU都可以连接三个串口通信模版。
本例中使用的PLC硬件为:
1)PM1207电源 ( 6EP1 332-1SH71 )
2) S7-1214C ( 6ES7 214 -1BE30 -0XB0 )
3) CM1241 RS232 ( 6ES7 241 -1AH30 -0XB0 )
3.软件需求
1) 编程软件 Step7 Basic V10.5 ( 6ES7 822-0AA0-0YA0)
4.组态
我们通过下述的实际操作来介绍如何在Step7 Basic V10.5 中组态S7-1214C 和**级终端通信。
点击桌面上的“Totally Integrated Automation Portal V10”图标,打开如下图:
图2: 新建S7 -1200项目
首先需要选择“Create new project”选项,然后在“Project name:”里输入PTP;在“Path:”修改项目的存储路径为“C:\”;点击“Create”,这样就创建了一个文件PTP的新项目。创建后的窗口如下图所示:
图3: 新建项目后
点击门户视图左下角的“Project View”切换到项目视图下,如下图:
图4: 切换到项目视图
打开后,在“Devices”标签下,点击“Add new device”,在弹出的菜单中输入设备名“PLC_1”并在设备列表里选择CPU的类型。选择后如下图:
图5:PLC硬件组态
插入CPU后,点击CPU左边的空槽,在右边的“Catalog ”里找到“Communication”下的RS232模块,拖拽或双击此模块,这样就把串口模块插入到硬件配置里,接下来就需要配置此RS232模块硬件接口参数,选择RS232模块,在其下方会出现该模块的硬件属性配置窗口, 在属性窗口里有两个选项,一个是“general”;一个是“RS232 interface”。在“General”里包括了此模块的“项目信息”和“订货信息”;而在“RS232 interface”里包括“项目信息”、“端口的配置”、“发送信息的配置”、“接收信息的配置”和“硬件识别号”。在这里我们选择“RS232 interface”,在“端口”配置的选项里,进行端口的参数配置,
波特率为:9600 ;
校验方式:无 ;
数据位为:8 ;
停止位:1;
硬件流控制:无;
等待时间:1ms西门子低压供应商
设置参数如下图:
图6:RS232接口配置
此时确认一下“硬件识别号”为11。
此时,完成了硬件的组态,接下来需要编写串口通讯程序,在这里我们实现两个功能:
A、 S7-1200 发送数据给**级终端;
B、 **级终端发送数据给S7-1200
对于**个功能:S7-1200发送数据给**级终端,实际上是S7-1200是数据的发送方,**级终端是数据的接收方,对于S7-1200需要编写发送程序;而对于**级终端来说,只要打开**级终端程序,配置硬件接口参数与前面S7-1200的端口参数一只即可。
下面的步骤将具体介绍此功能实现的步骤:
①、在PLC中编写发送程序。在项目管理视图下双击“Device”下的程序块下的Main(OB1),打开OB1,在主程序中调用SEND_PTP功能块如下图所示:(注:SEND_PTP在指令库下的扩展指令中通讯指令下)
图7: 调用发送功能块
要对SEND_PTP赋值参数,首先需要创建SEND_PTP的背景数据块和发送缓冲数据块 ,双击“Devices”——> “PLC_1”——>“Program Block ”——“Add new block”,在弹出的串口命名DB_Send_PTP,选择DB块,在Type后选择“SEND_PTP(SFB113)”
图8: 创建发送功能块的背景数据块
插入背景DB后,再插入发送缓冲DB块,重复上面的步骤,只是在选择DB类型为“bal 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的串口与计算机的串口,打开计算机的**级终端程序,并设置硬件端口参数如下图:
图13:**级终端的端口设置
③、打开OB1功能块在线监控程序,在变量监控表里强制M0.0为1,触发数据的发送,此时在**级终端就会接收到发送的数据,如下图:
图14:在**级终端监控发送来的数据
对于*二个功能:**级终端发送数据给S7-1200,实际上是S7-1200是数据的接收方,**级终端是数据的发送方,对于S7-1200需要编写接收程序;而对于**级终端来说,只要打开**级终端程序,配置硬件接口参数与前面S7-1200的端口参数一致,在界面上输入发送内容即可。
下面的步骤将具体介绍此功能实现的步骤:
①、在PLC中编写发送程序。在项目管理视图下双击“Device”下的程序块下的Main(OB1),打开OB1,在主程序中调用RCV_PTP功能块如下图所示:(注:RCV_PTP在指令库下的扩展指令中通讯指令下)
图15: 调用发送功能块
要对RCV_PTP赋值参数,首先需要创建RCV_PTP的背景数据块和发送缓冲数据块 ,双击“Devices”——> “PLC_1”——>“Program Block ”——“Add new block”,在弹出的串口命名DB_RCV_PTP,选择DB块,在Type后选择“RCV_PTP(SFB114)”
图16: 创建接收功能块的背景数据块
插入背景DB后,再插入接收缓冲DB块,重复上面的步骤,只是在选择DB类型为“bal DB”,并去掉“Symbolic access only”选项勾(这样可以对该DB块进行直接地址访问),并取名该DB块为DB_RCV_BUFF。建好这两个DB块后,双击打开DB_RCV_BUFF定义接收缓冲区数据的类型,如下图所示:
图17:定义接收缓冲区
定义完接收缓冲区后,接下来就可以对RCV_PTP赋值参数,赋值参数后如下图:
图18:接收编程
在上面的编程块里需要注意的是,在*接收缓冲区时。字符的开始地址是从*二个字节,而不是零字节开始,即是P#DB2.DBX2.0 Byte10 而不是P#DB2.DBX0.0 Byte10,原因是由于S7-1200对字符串的存放的格式造成的,S7-1200对字符串的前两个字节的定义**字节是较大的字符长度,*二个字节是实际的字符长度。接下来才是存放实际字符。如下图:
图19:String存储格式
上面就完成了程序的编写,对项目进行编译;右击PLC_1项目在弹出的菜单里选择“Complies ALL”选项,这样就对硬件与软件进行编译,如下图:
图20:编译项目
编译且没有错误后就可以下载程序到PLC中,同样右击PLC_1项目,在弹出的菜单选择“Download to Device”。
②、用串叉线连接S7-1200的串口与计算机的串口,打开计算机的**级终端程序,并设置硬件端口参数如下图:
图21:**级终端的端口设置
在桌面上新建文本文件,打开此文本文件在里面输入“gfdcba”,如下图:
图22:在文本文件下输入要发送的字符串
③、打开变量监控表,强制M0.0,使能接收。然后, 在**级终端里,选择菜单“Transfer”下的“Send Text file”,在打开的窗口里找到桌面 上的文本文件。
图23:通过**级终端发送数据
打开DB_RCV_BUFF数据块,在线查看接收到的数据,如下图:
图23:接收缓冲区中接收到的数据
通过上面的例子实现了简单的应用,在实际的应用过程中,需要按第三方设备的协议进行编写S7-1200的程序。
识别上方二维码关注本号,学习更多PLC编程知识!设备组态的任务就是在设备与组态编辑器中生成一个与实际的硬件系统完全相同的虚拟系统,包括系统汇总的设备(PLC和HMI),PLC各模块的型号、订货号和版本、模块的安装位置和设备之间的通信连接,都应与实际的系统完全相同。
此外还应设置模块的参数,即给参数赋值,或称为参数化。
自动化系统启动时,CPU比较组态时生成的虚拟系统和系统实际的硬件系统,如果两个系统不一致,则采取相应的措施。
一、硬件组态
1.在设备视图中添加模块
在项目树下双击PLC设备对象,打开设备视图,CPU模块被放到1号插槽中。
在硬件组态时需要将I/O模块或通信模块放置到工作区的机架上的插槽内,有两种放置硬件对象的方法。
(1)用“拖放”的方法放置硬件对象
用鼠标打开硬件目录中的文件夹,比如选中订货号为6ES7 221-1BF32-0XB0的8点DI模块,其背景变为深色,用鼠标左键按住该模块不放,移动鼠标,将选中的模块拖到机架CPU右边的2号插槽,如下图所示。
(2)用双击的方法放置硬件对象
放置模块还有一个简单的方法,首先用鼠标左键点击机架中需要放置模块的插槽,使它的四周出现深蓝色的边框,用鼠标左键双击硬件目录中要放置的模块,该模块便出现在选中的插槽。
放置通信模块和信号板的方法与放置信号模块的方法相同,信号板安装在CPU模块内,通信模块安装在CPU左侧的101-103号插槽。
2.删除硬件组件
删除硬件组件可以在设备视图或网络视图中进行,被删除的组件的地址可供其它组件使用,不能单独删除CPU和机架,智能在网络视图或项目树中删除整个PLC站。
用鼠标右键点击要删除的硬件组件,选择“删除”命令,或者直接使用快捷键“Delete”,完成硬件组件的删除。
3.复制与粘贴硬件组件
西门子低压供应商