产品描述
西门子6AV2123-2DB03-0AX0性能参数
1.如何选择需要感染的PLC。
Stuxnet会根据目标系统的特点,使用不同的代码来感染PLC。一个感染的序列包括了许多PLC模块(代码模块和数据模块),用以注入PLC来改 变目标PLC的行为。这个威胁包括了三个感染序列。其中两个非常相似,功能也相同,我们将其命名为序列A和B。三个序列我们命名为序列C。 Stuxnet 通过验证“指纹”来判断系统是否为计划攻击的目标。它会检查:PLC种类/家族:只有CPU6ES7-417和6ES7-315-2 会被感染。系统数据模块:SDB会被解析;根据他们包含的数据,感染进程会选择A,B或其它感染方式开始行动。当解析SDB时,代码会搜索这两个值是否存 在--7050hand9500h;然后根据这两个数值的出现次数,选择序列A或B中的一种来感染PLC。代码还会在SDB模块的50h子集中搜索字节序 2CCB0001,这个字节序反映了通信处理器CP342-5(用作Profibus-DP)是否存在。而选择序列C进行感染的条件则由其他因素构成。
2.感染方法。
Stuxnet使用“代码插入”的感染方式。当Stuxnet感染OB1时,它会执行以下行为:增加原始模块的大小;在模块开头写入代码;在 代码后插入原始的OB1代码。Stuxnet也会用类似于感染OB1的方式感染OB35。它会用自身来取代标准的协同处理器DP_RECV代码块,然后在 Profibus(一个标准的用作分布式I/O的工业网络总线)中挂钩网络通信。利用A/B方法的感染步骤如下:检查PLC类型;该类型为S7 /315-2;检查SDB模块,判断应该写入序列A或B中的哪一个;找到DP_RECV,将其复制到FC1869,并用Stuxnet嵌入的一个拷贝 将其取代;在序列中写入模块(总共20个),由Stuxnet嵌入;感染OB1,令代码可以在新的周期开始时执行;感染OB35,它将扮演“看门 狗”的角色。
3.感染代码。
被注入OB1功能的代码是用来感染序列A和B的。这些序列包含了以下模块:代码块:FC1865至FC1874,FC1876至FC1880(注 意:FC1869并非Stuxnet的一部分,而是PLC的DP_RECV模块的一个拷贝);数据模块:DB888至DB891。序列A和B用 DP_RECV挂钩模块来拦截Profibus中的数据包,并根据在这些模块中找到的数值,来构造其他的数据包并发送出去。这由一个复杂的状态机控制(状 态机被建立在上面提到的FC模块中)。这个状态机可部分受控于数据块DB890中的DLL。在某些条件下,序列C会被写入一个PLC。这个序列比A和B包 含多的模块:FC6055至FC6084;DB8062,DB8063;DB8061,DB8064至DB8070(在运行中产生)。序列C主要为了将 I/O信息读写入PLC的内存文件映射的I/O区域,以及外围设备的I/O。程序A/B的控制流如下图所示,在之前的Step7编辑器的截图中也有部分显 示(数据模块FC1873)
4.RootkitStuxnetPLCrootkit代码全部藏身于的s7otbxdx.dll中。
为了不被PLC所检测到,它至少需要应付以下情况:对自己的数据模块的读请求;对受感染模块(OB1,OB35,DP_RECV)的读请求;可能 覆盖Stuxnet自身代码的写请求。Stuxnet包含了监测和拦截这些请求的代码,它会修改这些请求以保Stuxnet的PLC代码不会被发现或被 破坏。下面列出了几个Stuxnet用被挂钩的导出命令来应付这些情况的例子:s7blk_read:监测读请求,而后Stuxnet会返回:真实请求的 DP_RECV(保存为FV1869);错误信息,如果读请求会涉及到它的模块;OB1或OB35的干净版本的拷贝s7blk_write:监测关于 OB1/OB35的写请求,以保他们的新版本也会被感染。s7blk_findfirst/s7blk_findnext:这些例程被用于枚举PLC中 的模块。模块会被自动跳过。s7blk_delete:监测对模块的“删除”操作。如上文所述,Stuxnet是一个非常复杂的威胁,而其中的PLC 感染代码令问题加难以解决。
一、故障现象一:停机
故障分类及原因:1、CPU异常报警而停机;2、存储器异常报警而停机;3、输入/输出单元异常报警而停机;4、扩展单元异常报警而停机。
二、故障现象二:程序不执行
故障分类及原因:1、全部程序不执行;2、部分程序不执行;3、计数器误动作。
三、故障现象三:程序内容变化
故障分类及原因:1、长时间停电引起变化;2、电源ON/OFF操作引起变化;3、运行中发生变化。
四、故障现象四:输入/输出单元不作
故障分类及原因:1、输入信号没有读入CPU;2、CPU没有发出信号。
五、故障现象五:写入器不能操作
故障分类及原因:1、没有按下特定键或操作不当;2、不动作。
六、故障现象六:扩展单元不动作
故障分类及原因:1、只有特定的输入/输出信号不动作:2、全部不动作。
七、故障现象七:PROM不能运转
故障分类及原因:1、没有接通PROM;2、出现错误。
PLC故障诊断要点
1、CPU异常:
CPU异常报警时,应CPU单元连接于内部总线上的所有器件。具体方法是依次换可能产生故障的单元,找出故障单元,并作相应处理。
2、存储器异常:
存储器异常报警时,如果是程序存储器的问题,通过重新编程后还会再现故障。这种情况可能是噪声的干扰引起程序的变化,否则应换存储器。
3、输入/输出单元异常、扩展单元异常:
发生这类报警时,应检查输入/输出单元和扩展单元连接器的插入状态、电缆连接状态,确定故障发生的某单元之后,再换单元。
4、不执行程序 : 一般情况下可依照输入---程序执行---输出的步骤进行检查
(1)输入检查是利用输入LED指示灯识别,或用写入器构成的输视器检查。当输入LED不亮时,可初步确定是外部输入系统故障,再配合万用表检查。如果输出电压不正常,就可确定是输入单元故障。当LED亮而内部监视器无显示时,则可认为是输入单元、CPU单元或扩展单元的故障。
(2)程序执行检查是通过写入器上的监视器检查。当梯形图的接点状态与结果不一致时,则是程序错误(例如内部继电器双重使用等),或是运算部分出现故障。
(3)输出检查可用输出LED指示灯识别。当运算正确而输出LED指示错误时,则可认为是CPU单元、1/0接口单元的故障。当输出LED是亮的而无输出,则可判断是输出单元故障,或是外部负载系统出现了故障。
另外,由于PLC机型不同,1/0与LED连接方式的不一样(有的接于1/0单元接口上,有的接于1/0单元上)。所以,根据LED判断的故障范围也有差别。
5、部分程序不执行 : 检查方法与前项相同
但是,如果计数器、步进控制器等的输入时间过短,则会出现无响应故障,这时应该校验输入时间是否足够大,校验可按输入时间<输入单元的大响应时间+运算扫描时间乘以2的关系进行。
6、电源的短时掉电,程序内容也会消失 :
(1)这时除了检查电池,还要进行下述检查
(2)通过反复通断PLC本身电源来检查。为使微处理器正确启动,PLC中设有初使复位点电路和电源断开时的保存程序电路。这种电路发生故障时,就不能保存程序。所以可用电源的通、断进行检查。
(3)如果在换电池后仍然出现电池异常报警,就可判定是存储器或是外部回路的漏电流异常增大所致。
(4)电源的通断总是与机器系统同步发生,这时可检查机器系统产生的噪声影响。因为电源的断开是常与机器系统运行同时发生的故障,绝大部分是电机或绕组所产生的强噪声所致。
7、PROM不能运转 : 先检查PROM插入是否良好,然后确定是否需要换芯片
8、电源重新投入或复位后,动作停止: 这种故障可认为是噪声干扰或PLC内部接触不良所致。噪声原因一般都是电路板中小电容容量减小或元件性能不良所致,对接触不良原因可通过轻轻敲PLC机体进行检查。还要检查电缆和连接器的插入状态。
一、从控制方法上看,电器控制系统控制逻辑采用硬件接线,利用继电器机械触点的串联或并联等组合成控制逻辑,其连线多且复杂、体积大、功耗大,系统构成后,想再改变或增加功能较为困难。另外,继电器的触点数量有限,所以电器控制系统的灵活性和可扩展性受到很大限制。而PLC采用了计算机技术,其控制逻辑是以程序的方式存放在存储器中,要改变控制逻辑只需改变程序,因而很容易改变或增加系统功能。系统连线少、体积小、功耗小,而且PLC所谓“软继电器”实质上是存储器单元的状态,所以“软继电器”的触点数量是无限的,PLC系统的灵活性和可扩展性好。
二、从工作方式上看,在继电器控制电路中,当电源接通时,电路中所有继电器都处于受制约状态,即该吸合的继电器都同时吸合,不该吸合的继电器受某种条件限制而不能吸合,这种工作方式称为并行工作方式。而PLC的用户程序是按一定顺序循环执行,所以各软继电器都处于周期性循环扫描接通中,受同一条件制约的各个继电器的动作次序决定于程序扫描顺序,这种工作方式称为串行工作方式。
三、从控制速度上看,继电器控制系统依靠机械触点的动作以实现控制,工作频率低,机械触点还会出现抖动问题。而PLC通过程序指令控制半导体电路来实现控制的,速度快,程序指令执行时间在微秒级,且不会出现触点抖动问题。
四、从定时和计数控制上看,电器控制系统采用时间继电器的延时动作间控制,时间继电器的延时时间易受环境温度和温度变化的影响,定时精度不高。而PLC采用半导体集成电路作定时器,时钟脉冲由晶体振荡器产生,精度高,定时范围宽,用户可根据需要在程序中设定定时值,修改方便,不受环境的影响,且PLC具有计数功能,而电器控制系统一般不具备计数功能。
五、从性和可维护性上看,由于电器控制系统使用了大量的机械触点,其存在机械磨损、电弧等,寿命短,系统的连线多,所以性和可维护性较差。而PLC大量的开关动作由无触点的半导体电路来完成,其寿命长、性高,PLC还具有自诊断功能,能查出自身的故障,随时显示给操作人员,并能动态地监视控制程序的执行情况,为现场调试和维护提供了方便。
机床行业在保持了近些年来的高速增长后,开始出现衰退现象,其中普通机床的影响尤为明显,库存开始增加,而数控机床的影响稍微少一些,从而给这个行业重新洗牌。而机床产品数控化化的发展带来的plc和运动控制器/卡需求。未来机床的方向是数控化和逐步化,这些机床都需要使用大量plc和运动控制器/卡来逐步取代继电器或机械控制,使得机床的整体性能得到提升,因此从长远来看,plc和运动控制器/卡在机床行业的应用还是会很有潜力。
数控机床是集计算机技术、PLC技术、自动化技术等于一身的机、电一体化产物,作为数控机床的控制系统直接关系到设备的正常运行,利用数控机床PLC的强大功能,可以充分发挥数控机床控制系统的作用,还可以为数控机床故障诊断及维修带来大的方便。笔者为加工设计的防止机床发生碰撞的控制功能,有效了因操作人员的失误导致机床主轴与夹具、工件发生碰撞的隐患,确保了生产的性,有良好的经济效益。
PLC为可编程控制器.在数控机床上所使用的PLC也称作PMC。它有以下优点:响应快。控制精度高,性好,控制程序可随应用场合的不同而改变,与计算机的接口及维修方便。通常,数控机床上所使用的PLC程序包括系统程序和用户程序。其中系统程序包括监控程序、编译程序及诊断程序等,由PLC生产厂家提供,并固化在EPROM中,用户不能直接存取,也不需要用户干预。丽用户程序是用户根据现场控制的需要,用PLC程序语言编制的应用程序,用以实现各种控制要求。常用的PLC程序设计语言主要有梯形囝、语句表、功能块图等。
由于数控机床很多执行机构的动作都是通过PLC的控制指令来实现的,可以利用PLC对数控机床进行故障的检测和维修,或者是通过修改、编写PLC程序为数控机床增添某个可执行动作或功能。
机床行业中的PLC的应用以小型PLC为主,日系PLC在小型PLC领域占有很大优势,因此在机床中日系PLC占据大部分市场份额,而三菱PLC、西门子PLC和ge-fanuc由于其数控系统在机床中占有优势,因此在机床中占有一席之地。机床行业中PLC集中度比较高,主要集中于日系(三菱、欧姆龙PLC)和西门子,闽台台达PLC在其中也占有一定的市场份额,而其他的主要有富士、倍福、ls、施耐德、光洋、abb和横河等。
PLC程序设计一般分为以下几个步骤:
1. 程序设计前的准备工作
程序设计前的准备工作就是要了解控制系统的全部功能、规模、控制方式、输入/输出信号的种类和数量、是否有特殊功能的接口、与其它设备的关系、通信的内容与方式等,从而对整个控制系统建立一个整体的概念。接着进一步熟悉被控对象,可把控制对象和控制功能按照响应要求、信号用途或控制区域分类,确定检测设备和控制设备的物理位置,了解每一个检测信号和控制信号的形式、功能、规模及之间的关系。
2. 设计程序框图
根据软件设计规格书的总体要求和控制系统的具体情况,确定应用程序的基本结构、按程序设计标准绘制出程序结构框图,然后再根据工艺要求,绘出各功能单元的功能流程图。
3. 编写程序
根据设计出的框图逐条地编写控制程序。编写过程中要及时给程序加注释。
4. 程序调试
调试时先从各功能单元入手,设定输入信号,观察输出信号的变化情况。各功能单元调试完成后,再调试全部程序,调试各部分的接口情况,直到满意为止。程序调试可以在实验室进行,也可以在现场进行。如果在现场进行测试,需将可编程控制器系统与现场信号隔离,可以切断输入/输出模板的外部电源,以免引起机械设备动作。程序调试过程中先发现错误,后进行纠错。基本原则是“集中发现错误,集中纠正错误”。
5. 编写程序说明书
在说明书中通常对程序的控制要求、程序的结构、流程图等给以必要的说明,并且给出程序的安装操作使用步骤等.
产品推荐