鞍山西门子S7-1200代理
西门子这个自动化行业的巨人在simatic产品的历史长河里又一次投了一颗砾石激起了一片涟漪而这颗砾石的名字就叫作s7-1200,从产品命名上来看更像是s7-200的一个延伸或者升级,在这里笔者想详细的讲解一下这款产品,在讲解之前我觉得应该了解一下西门子plc的家族史。
第三步:将CPU断电。
• 第四步:将存储卡插到CPU卡槽内
• 第五步:将CPU上电
• 第六步:在STEP 7 Basic中点击下载,将项目文件全部下载到存储卡中。此时下载是将项目文件(包括用户程序、硬件组态和强制值)下载到存储卡中,而不是CPU内部集成的存储区中。
完成上述步骤后,CPU可以带卡正常运行。此时如果将存储卡拔出,CPU会报错,"ERROR"红灯闪烁。
3.2 常见问题:
常见问题1:
为什么插上存储卡后CPU的“MAINT”灯闪烁,使用STEP 7 Basic下载是提示报错“The download of the hardware configuration failed (0050 -133 2 2458)”?
回答:
请清除存储卡中的所有文件,重新使用STEP7 Basic软件将存储卡设置到“编程”模式,然后再重复上述步骤。请您也检查存储卡上的拨码开关,检查存储卡是否处于写保护模式。
常见问题2:
为什么CPU断电上电后进入停止状态,而不进入运行状态?
回答:
原因是CPU的启动方式不是“Warm restart-RUN”,详细请参考上面“第二步”。
4 使用传输卡模式
优点:在没有编程器的情况下,方便快捷地向多个S7-1200PLC拷贝项目文件。
4.1 向处于传输模式的存储卡中装载项目
• 步:按照上面方法将存储卡设定到“编程”模式。建议客户做此操作之前清除存储卡中的所有文件。
• 第二步:设置CPU的启动状态:在"Project tree"中右击CPU选择“属性”,在“属性”窗口中点击“Startup”,此处我们必须选择“Warm restart-RUN”
• 第三步:直接拖拽PLC设备到存储卡盘符

1、西门子plc的历史
从西门子公司1872进入以来,自动化前进的之路一直有西门子自动化产品相伴,说到西门子的plc大家都能说出那些耳熟能详的型号s7-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这款产品应运而生。
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中低端市场。

3、s7-1200的产品定位
s7-1200这款产品的定位还是相当明确的,瞄准的正是中低端小型plc产品线,硬件结构由紧凑模块化结构组成,系统io点数、内存容量,均比s7-200多出30%,充分满足市场的针对小型plc的需求,现在很多离散行业和过程控制行业的小型单元和系统点数均是在离散点200以内、模拟点在36-48点之内,所以在这个时候s7-200将不能应对,客户只能选购s7-300中型plc以大马拉小车形式来面对工程这也给客户造成了一定成本上的浪费。而s7-1200这款产品容量上的设计是在充分积累客户多年需求之上而得。
4、s7-1200的产品新特性
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

g) 集成 hmi 工程组态
simatic step 7 basic 包括功能强大的hmi 软件 simatic wincc basic,用于对simatic hmi 精简系列面板进行高效的编程和组态。高效的工程组态包括,例如:通过智能拖放功能直接使用 hmi 项目中的控制器过程值。hmi 是整个项目的一部分,hmi 数据可始终保持一致性。hmi 和plc 之间的连接可以集中定义。还可以创建多个模板并分配给其它画面。完全集成的hmi 功能使组态 simatic hmi 精简系列面板变得十分方便且高效。

h) 通讯集成profinet接口
在当前自动化推崇工业以太网通讯的趋势中,西门子的全线产品已经开始“顶盔贯甲”全部武装上了profinet的接口,而唯独低端产品s7200还是停留在以太网通讯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字符处理的能力,可以和大量第三方进行自定义字符通讯(称重、二次仪表、单片机等)。

5、 s7-1200的产品展望
上边说了这么多s7-1200的一些特点,但并不表示这款产品就没有不足,“金无足赤人无完人”而且这款产品还是在成长过程当中,他在很多功能方面都不完善,例如:不支持profinet cab和io组态;不支持ppi、mpi和profibus通讯;不支持配方功能等,但是这些功能对于西门子开发并不是问题这也仅仅西门子为了能及早上市,把某些通讯模块和软件功能相继随后推出和规划在下一版本的软件中,所以用户现在可以因地制宜根据自己的项目范围使用此款产品,随着经济的快速复苏和欧美经济的衰退,现在正是出现大量设备出口的局面,而s7200cn系列没有ce等是不能出口到欧美,而s7-1200正是良好的一款低端紧凑型plc产品非常适合中小型开发项目和设备,并且如果需要与大量第三方设备通讯这款产品真是物尽其用,笔者在这里觉得这款产品将会在未来3年的自动化市场处处开花。
所有的计数器无需启动条件设置,在硬件向导中设置完成后下载到CPU中即可启动高速计数器,在A/B相正交模式下可选择1X(1倍) 和4X(4倍)模式,高速计数功能所能支持的输入电压为24V DC,目前不支持5V DC的脉冲输入,表1列出了高速计数器的硬件输入定义和工作模式
| 描述 | 输入点定义 | 功能 | ||||
| HSC | HSC1 | 使用CPU集成I/O或信号板或监控PTO0 | I0.0 | I0.1 | I0.3 | |
| I4.0 | I4.1 | |||||
| PTO 0 | PTO 0 方向 | |||||
| HSC2 | 使用CPU集成I/O或监控PTO0 | I0.2 | I0.3 | I0.1 | ||
| PTO 1 | PTO 1 方向 | |||||
| HSC3 | 使用CPU集成I/O | I0.4 | I0.5 | I0.7 | ||
| HSC4 | 使用CPU集成I/O | I0.6 | I0.7 | I0.5 | ||
| HSC5 | 使用CPU集成I/O或信号板 | I1.0 | I1.1 | I1.2 | ||
| I4.0 | I4.1 | |||||
| HSC6 | 使用CPU集成I/O | I1.3 | I1.4 | I1.5 | ||
| 模式 | 单相计数,内部方向控制 | 时钟 | 计数或频率 | |||
| 复位 | 计数 | |||||
| 单相计数,外部方向控制 | 时钟 | 方向 | 计数或频率 | |||
| 复位 | 计数 | |||||
| 双相计数,两路时钟输入 | 增时钟 | 减时钟 | 计数或频率 | |||
| 复位 | 计数 | |||||
| A/B相正交计数 | A相 | B相 | 计数或频率 | |||
| Z相 | 计数 | |||||
| 监控PTO输出 | 时钟 | 方向 | 计数 | |||
表1 高速计数器硬件输入定义与工作模式
并非所有的CPU都可以使用6个高速计数器,如1211C只有6个集成输入点,所以多只能支持4个(使用信号板的情况下)高速计数器。
由于不同计数器在不同的模式下,同一个物理点会有不同的定义,在使用多个计数器时需要注意不是所有计数器可以同时定义为任意工作模式。
高速计数器的输入使用与普通数字量输入相同的地址,当某个输入点已定义为高速计数器的输入点时,就不能再应用于其它功能,但在某个模式下,没有用到的输入点还可以用于其它功能的输入
监控PTO的模式只有HSC1和HSC2支持,使用此模式时,不需要外部接线,CPU在内部已作了硬件连接,可直接检测通过PTO功能所发脉冲。
3高速计数器寻址
CPU将每个高速计数器的测量值,存储在输入过程映像区内,数据类型为32位双整型有符号数,用户可以在设备组态中修改这些存储地址,在程序中可直接访问这些地址,但由于过程映像区受扫描周期影响,在一个扫描周期内,此数值不会发生变化,但高速计数器中的实际值有可能会在一个周期内变化,用户可通过读取外设地址的方式,读取到当前时刻的实际值。以ID1000为例,其外设地址为“ID1000:P”。表2 所示为高速计数器寻址列表
| 高速计数器号 | 数据类型 | 默认地址 |
| HSC1 | DINT | ID1000 |
| HSC2 | DINT | ID1004 |
| HSC3 | DINT | ID1008 |
| HSC4 | DINT | ID1012 |
| HSC5 | DINT | ID1016 |
| HSC6 | DINT | ID1020 |
表1 高速计数器寻址
4频率测量
S7-1200 CPU除了提供计数功能外,还提供了频率测量功能,有3种不同的频率测量周期:1.0秒,0.1秒和0.01秒,频率测量周期是这样定义的:计算并返回新的频率值的时间间隔。返回的频率值为上一个测量周期中所有测量值的平均,无论测量周期如何选择,测量出的频率值是以Hz(每秒脉冲数)为单位。
5高速计数器指令块
高速计数器指令块,需要使用背景数据块用于存储参数。图1所示为高速计数器指令块
图1高速计数器指令块
表3所示为高速计数器指令块参数说明
| HSC (HW_HSC) | 高速计数器硬件识别号 |
| DIR (BOOL) | TRUE =使能新方向 |
| CV (BOOL) | TRUE = 使能新初始值 |
| RV (BOOL) | TRUE = 使能新参考值 |
| PERIODE (BOOL) | TRUE = 使能新频率测量周期 |
| NEW_DIR (INT) | 方向选择1=正向 |
| 0=反向 | |
| NEW_CV (DINT) | 新初始值 |
| NEW_RV (DINT) | 新参考值 |
| NEW_PERIODE (INT) | 新频率测量周期 |
表1 高速计数器指令块参数
6应用举例
为了便于理解如何使用高速计数功能,通过一个例子来学组态及应用。
假设在旋转机械上有单相增量编码器作为反馈,接入到S7-1200 CPU,要求在计数25个脉冲时,计数器复位,并重新开始计数,周而复始执行此功能。
针对此应用,选择CPU 1214C,高速计数器为:HSC1。模式为:单相计数,内部方向控制,无外部复位。据此,脉冲输入应接入I0.0,使用HSC1的预置值中断(CV=RV)功能实现此应用。
组态步骤:
1硬件组态
选中CPU如图2
图2选中CPU
图3所示为选择属性打开组态界面
图3 选择属性打开组态界面
激活高速计数功能如图4
图4 激活高速计数功能
计数类型,计数方向组态如图5所示
图5 计数类型,计数方向
1 此处计数类型分为3种,Axis of motion(运动轴),Frequency(频率测量),Counting(计数)。这里选择Counting
2 模式分为4种:Single phase(单相), Two phase(双相), AB Quadrature 1X(A/B相正交1倍速), AB Quadrature 4X(A/B相正交4倍速)。这里择Single phase
3 输入源,这里使用的为CPU集成输入点。
4 计数方向选择,这里选用User program (internal direction control)(内部方向控制)
5初始计数方向。这里选择Count up(向上计数)
初始值及复位组态如图6
图6 初始值及复位组态
预置值中断组态如图7
图7 预置值中断组态
图8 添加硬件中断
组态添加的硬件中断,如图8
图8 组态添加的硬件中断
地址分配与硬件识别号如图9
图9 地址分配与硬件识别号
至此硬件组态部分已经完成,下面进行程序编写
2程序编写
将高速计数指令块添加到硬件中断中
图10 打开硬件中断块 图11 添加高速计数器
图12 定义高速计数器背景数据块
程序视图如图13
图13 程序视图
1 这里就是图9中系统的高速计数器硬件识别号,这里填1
2 “1”为使能更新初值
3 “0”新初始值为0
至此程序编制部分完成,将完成的组态与程序下载到CPU后即可执行,当前的计数值可在ID1000中读出,关于高速计数器指令块,若不需要修改硬件组态中的参数,可不需要调用,系统仍然可以计数。