如何获取安全知识?

技术和知识在不断的更新,怎么来更新自己的知识系统呢?最快捷的就是follow专业的主体,如官方网站、博客、微博等。LT 近段时间一直在学习安全方面的文档,但是发现相关文档在网络上用搜索引擎很难找到有用的信息。但是呢,去查看专业的做安全方面的厂商网站,就会有很多惊喜发现。

安全方面的专业厂商:
皮尔磁
http://www.pilz.com
http://www.pilz.com/knowhow/index.zh.jsp

施迈赛
http://www.schmersal.com
http://www.schmersal.net
http://www.schmersal.com.cn
http://www.schmersalusa.com

埃朗
http://www.elan.de

 

安全方面的博客
Machinery Safety 101
http://machinerysafety101.com

(待补充)

工业机器人的标准

关于机器人的标准。之前, 欧洲的标准是 EN 775 ,美国的标准是 ANSI RIA 1999 ,不过,被新的标准 ISO 10218-1ISO 10218-2 所取代。加拿大的则是 Z434-03

在美国,ISO 10218ANSI RIA 1999 将会同时存在,ANSI RIA 1999 会对 ISO 10218 覆盖不到的地方作补充。

机械控制系统标准 EN ISO 13849-1 替代 EN 954-1

中国的工业机器人安全规范是 GB 11291—1997

<未完>

扩展阅读:
Industry safety standards ANSI RIA 15.06

http://www.robot-forum.com/robotforum/general_discussion/industry_safety_standards_ansi_ria_1506-t6733.0.html

GB 11291—1997
http://www.safetyinfo.com.cn/biaozhun/Biaozhun_2239.html

GB/T20867-2007
http://www.china-safety.org.cn/aqbz_view.asp?D_id=254&keyword=E010

记学习RAPID中断特性的一则笔记 – 初识 RAPID 中的 Interrupts

题记:国庆长假,整理了以前几篇老文章放上来。也算是对自己足迹的一个记录。这篇文章大概是 2008年10月记录的。Interrupts 中断是 ABB Robot 编程语言 RAPID 中很实用的一个功能,后面的文章 LT 会陆续介绍到。这里发的是当时学习最普通的中断功能(对某一信号响应)时做的一个学习笔记,内容上有摘录和翻译了官方文档(RAPID 4.0.40 )里的一些片断。注释是以”!”标识的,内容原来是英文的,这里改为了中文以便区别代码。实际上用中文作注释是不明智的。

初识 RAPID 中的 Interrupts

原发布于2008年10月@CSDN Blog

 

准备仔细研究RAPID的语法结构,由于中断功能比较常用,故先拿它开刀。正文之前,先说个形象的说法来解释程序里处理外部I/O的方法:查询和中断。那两者有什么区别呢?话说某人得了孩子,照看婴儿,于是就用撒尿论来解释中断和查询的区别:

查询:每隔一段时间就去看看婴儿尿了没有
中断:听到婴儿大哭,应该是尿了,赶快去处理

步入正文,举个例子:

!例子: VAR intnum empty;
VAR intnum full;
PROC main()
!连接中断程序
CONNECT empty WITH etrap;
CONNECT full WITH ftrap;
!定义 feeder中断信号
ISignalDI di1, high, empty;
ISignalDI di3, high, full;


IDelete empty;
IDelete full;
ENDPROC
!响应“feeder empty” 中断
TRAP etrap
open_valve;
RETURN;
ENDTRAP

!响应 “feeder full” 中断
TRAP ftrap
close_valve;
RETURN;
ENDTRAP

 

 

 

中断介绍(interrupts):

中断(interrupts)是编程定义的事件,用中断号来识别。当一个中断条件满足真(TRUE)时中断就会发生。中断发生时正常运行的程序暂停,并把控制权交给中断子程序。
即使机器人立即识别到一个中断发生(硬件速度会延迟),它的响应(调用trap子程序)只会发生在程序特定位置,即:

  • 当指令被执行时
  • 等待型指令执行中的任何时间,如 WaitUntil
  • 运动型指令执行中的任何时间,如 MoveL

通常中断检测和响应之间有几十ms的延迟,取决于中断时何种运动被正在执行。中断可以被禁用和启用。如果中断被禁用,发生的任何中断将会被排队不被调用直到中断被再次启用。注意中断队列可以包含一个以上的等待中断。列队的中断遵循FIFO即先进先出的顺序。当一个陷阱子程序执行时中断通常是被禁用的。当步进运行时或者当程序被停止时,中断将不会被处理。这种环境下产生的中断是不被处理的。一次可被定义的中断的最大数目被限制在每个任务(task)100个。

中断处理(interrupt manipulation):

中断要定义以便机器人识别。定义指明了中断的条件并激活和启用中断。

!例子:
VAR intnum sig1int;

ISignalDI di1, high, sig1int;

一个激活的中断(activated interrupt)可以撤销其活动(deactivated)。在没有激活的时间里,产生的任何中断被扔掉(thrown away)不执行任何trap中断子程序。

!例子: !不激活
ISleep sig1int;

!激活
IWatch sig1int;
 

一个启用的中断(enabled interrupt)也可以使其禁止。在禁止的时段里,产生的任何中断将列队并在终端启用时再次调用。

!例子:
!禁用
IDisable sig1int;

!启用
IEnable sig1int;

删除一个中断就是移除它的定义。明确的说没有必要去移除一个中断定义,但是前一个定义如果不删除的话就不可以定义一个新的中断。

!例子:
IDelete sig1int;

中断子程序(trap routines):

代码如本篇开头所写。中断子程序提供处理中断的方法。一个中断子程序和一个特定的中断可以使用CONNECT指令连接起来。当一个中断发生时,控制权立即转移到相关联的中断子程序。如果一个中断发生后,没有连接任何中断子程序,将作为一个严重错误,如:导致程序立即终止执行。
几个中断可以连接到相同的中断子程序。系统变量INTNO包含了中断号并可以被一个中断子程序用来识别某个中断。当必要的动作执行后,一个中断子程序可以使用RETURN指令来终止,或者直接执行到ENDTRAP。然后程序继续从中断发生的地方继续执行。

注:摘译自 RAPID Overview 4.0.40

扩展阅读:
中断和异常 http://blog.csdn.net/liangzhibiao/article/details/4049304
中断与异常有什么区别?http://topic.csdn.net/t/20040916/13/3378467.html

数据安全 – 善用RAR压缩格式的恢复记录(Recovery Record)

国庆长假,LT 得以有时间来整理整理移动硬盘里的资料。可是当 LT 打开以前存档的一个近乎 2G 的 rar 压缩文档时,WinRAR 软件给 LT 报个错误,说文件尾部不可预料的错误什么的,幸好最终解压出一部分,也不知道丢失重要文件没有。后来想起,这个是很久以前在某个台式机上的打包,如果是现在打的包,也许不会出现解压不出来的问题。为什么,因为 LT 现在用WinRAR打包时,默认设置选择了”Put recovery record“这个选项,中文版叫做“添加恢复记录”。有了这个选项,WinRAR在打包成RAR 格式时,就会添加一部分冗余校验数据,以便在其他数据出错时给予修复的可能。其他类似的数据冗余纠错软件,最出名的要算QuickPar。这种恢复数据神奇的地方在于只要损坏的数据不多于冗余数据,就可以修复任意位置的损坏数据。

不要轻视数据安全这个问题。当丢失的是数年辛辛苦苦积累的资料时,是不能用悔恨这个词来形容的。从现在做起,常作备份,善用工具,未雨绸缪,有备无患。

有人说,用 rar 格式不方便交流文件,不如zip格式支持普遍。可是 LT 不禁要问现在桌面操作系统平台上还有不支持rar格式的主流解压缩软件吗?  🙂

扩展阅读:
如何使用par2&winrar复原记录 http://apps.hi.baidu.com/share/detail/453838

关键字:RAR, 恢复记录, 恢复卷, 冗余