db4
- 格式:pps
- 大小:179.50 KB
- 文档页数:51
LCD+Keypad+Shield:我使用的LCD模块。
接口编号(括号内为对应接口编号):DB4(PI N4),DB5(PIN5),DB6(PIN6),DB7(PIN7),RS(PIN8),Enable(PIN9),背光控制(PIN10)LiquidCrystal库:这个库包含了你要让LCD工作的一切函数,Arduino+IDE自带。
你可以在这里找到相关信息,当然,下面一会提到一些。
1. LiquidCrystal()——定义你的LCD的接口:各个引脚连接的I/O口编号,格式为LiquidCrystal(rs,+enable,+d4,+d5,+d6,+d7)LiquidCrystal(rs,+rw,+enable,+d4,+d5,+d6,+d7)LiquidCrystal(rs,+enable,+d0,+d1,+d2,+d3,+d4,+d5,+d6,+d7)LiquidCrystal(rs,+rw,+enable,+d0,+d1,+d2,+d3,+d4,+d5,+d6,+d7)2. begin()——定义LCD的长宽(n列×n行),格式lcd.begin(cols,+rows)3. clear()——清空LCD,格式lcd.clear()4. home()——把光标移回左上角,即从头开始输出,格式lcd.home()5. setCursor()——移动光标到特定位置,格式lcd.setCursor(col,+row)6. write()——在屏幕上显示内容(必须是一个变量,如”Serial.read()”),格式lcd.write(data)7. print()——在屏幕上显示内容(字母、字符串,等等),格式lcd.print(data)lcd.print(data,+BASE)8. cursor()——显示光标(一条下划线),格式lcd.cursor()9. noCursor()——隐藏光标,格式lcd.noCursor()10. blink()——闪烁光标,格式lcd.blink()11. noBlink()——光标停止闪烁,格式lcd.noBlink()12. display()——(在使用noDisplay()函数关闭显示后)打开显示(并恢复原来内容),格式lcd.display()13. noDisplay()——关闭显示,但不会丢失原来显示的内容,格式为lcd.noDisplay()14. scrollDisplayLeft()——把显示的内容向左滚动一格,格式lcd.scrollDisplayLeft()15. scrollDisplayRight()——把显示的内容向右滚动一格,格式为lcd.scrollDisplayRight()16. autoscroll()——打开自动滚动,这使每个新的字符出现后,原有的字符都移动一格:如果字符一开始从左到右(默认),那么就往左移动一格,否则就向右移动,格式lcd.autoscroll()17. noAutoscroll()——关闭自动滚动,格式lcd.noAutoscroll()18. leftToRight()——从左往右显示,也就是说显示的字符会从左往右排列(默认),但屏幕上已经有的字符不受影响,格式lcd.leftToRight()19. rightToLeft()——从右往左显示,格式lcd.rightToLeft()20. createChar()——自造字符,最多5×8像素,编号0-7,字符的每个像素显示与否由数组里的数(0-不显示,1-显示)决定,格式lcd.createChar(num,+data),有点难理解,可以看一个例子。
《欲望之血4》全攻略第1关:结束开场的画面后,可以自由控制女主角上台阶,走到中央的电梯处,看到说明图。
进电梯(这里要碰两次)。
从电梯仓出来,沿蓝色地面跳过裂缝,左转,在在一块竖着的直角梯形右边爬上障碍物。
接下来就是在杂物堆中爬来爬去,最后到达对面正方形的门。
进入后右边有个门,操作开关,躲过喷射出来的火焰,从火焰冲开的石柱子旁绕过。
(补充:一旦游戏中出现危机情况(画面右上角出现圆圈)。
在圆圈内全变红之前,快速连按鼠标左键7-8次,即可安全度过危机。
沿旋梯下去,右边有个房间,走到最里面被墙挡住的地方,得到绳钩。
出房间,在断裂处使用绳钩,下到地面,进入旁边的门,走到某处会有一堵墙从天而降,躲开。
回头再用绳钩爬上下来时的旋梯,进入捡到绳钩的房间,可以看到原来挡住去路的墙已经掉到楼下去了。
跳过裂缝,进门……看完剧情动画,从另一侧的门出去。
直走,击毙几个装甲兵,从尽头的门进入。
来到一个大厅,走对角的门出去。
这里是中央通路,(好长啊)走到底,进三角形的门。
又是一个相似的大厅,仍然走对角的门。
过了一条走廊,就准备boss战了。
第二关:从旅店出门,把广场上的物品清理一空,然后到广场一角,那里有一堵开了洞的墙。
进去看到一个人守卫,再往里进入……右边第一个门是赌场,大家尽情的赢钱吧:)经过赌场再往前走,在右边有一扇门。
从门里进去之后沿旋梯下到塔低,拉动旋梯下面的开关。
周围有四个门,其中一个可以到达岩洞中央的广场,那里有座塔,塔旁边还有一个开关,拉动。
回到四个门的地方,进入一个有分支的门,分别拉动两边的水闸,可以看到刚刚岩洞广场那里有扇门可以进去了。
(水闸在墙上巨大排水口的下面)再次到达广场,进入那张门。
里面是个圆形的大房间,出门时会有boss战——也就是传说中的“大猩猩”啦~~~搞定之后会出现一个装备,捡起收好,此乃过关必备之物。
回到旅店,(之前可以去道具店消费消费:)跟男主角有的没的说说话,说一句新的台词睡一天、出一次门,大概到第三天,进旅店会看到海贼三人组。
S7-1200 CPU 与S7-300 CP S7通信(S7-300 CP作为客户端)S7-1200 CPU 与S7-300 CPU 之间的以太网通信通过S7 通信来实现。
当CP343-1(至少标准版)作为客户端,S7-1200作为服务器,需在客户端单边组态连接和编程,而作为服务器端的S7-1200只需准备好通信的数据以及V4.0版本以上CPU需要激活连接机制。
注意:如果在S7-1200一侧使用DB 块作为通信数据区,必须将DB 块定义成非优化块,否则会造成通信失败。
所需要条件:①S7-1200 /S7-300 CP343-1设备②STEP7 V11所完成的通信任务:①S7-1200 CPU 将本地DB3中的数据写到S7-300 CPU中DB4中。
②S7-300 CPU 通过CP卡将本地DB3中的数据写到S7-1200 CPU中DB4中。
在S7-300 CPU一侧配置编程1. 使用STEP7 V11软件新建一个项目并完成硬件配置在项目树“Project tree”>“Devices & Networks” >“Networks view” 视图下,创建两个设备的连接。
用鼠标点中PLC_2 上CP343-1的PROFINET通信口的绿色小方框,然后拖拽出一条线,到另外一个PLC_1 上的PROFINET通信口上,松开鼠标,连接就建立起来了,2. 网络组态打开“Network View” 配置网络,选中CPU,然后右键选择添加新的连接,在连接列表里建立新的连接并选择连接对象和通信协议,如图1. 所示。
注意:不要直接使用软件拖拽功能创建S7通讯,如果这样做了,在S7-300侧将不会出现One-Way选项,不能实现数据通讯。
图1. 建立S7连接图2. 定义连接对方地址图3. 定义通信双方TSAP号注意:S7-1200预留给S7连接两个TSAP地址:03.01和03.00配置完网络连接,编译存盘并下载。
为了达到一次装夹实现多工序加工的目的,现在的数控机床大部份配备了交换刀具系统,这样数控系统需要知道这些刀具的几何尺寸,还有刀具在刀库里的具体位置。
为了适用工厂自动化生产的更高要求,有时还需要对刀具的加工时间或者是加工工件数进行监控,当达到刀具的加工寿命时,系统会提示操作者更换刀具,避免因为刀具的磨损而造成批量废品。
在自动化程度更高的机床上,还可以为一些刀具配备一把或几把类似的刀具,叫做姊妹刀,当某把刀具达到加工寿命时,系统会自动挑选它的姊妹刀来代替,这样能保证加工的连续运行,上述这些功能统称为刀库管理功能,西门子840D系统可以选配刀库管理功能。
在没有刀库管理功能时,系统只是管理刀具数据,主要是刀具的几何尺寸,当需要交换刀具时,系统会通过通道的接口信号通知PLC需要更换的新刀具号,PLC控制刀具换刀动作,当动作完成后,通知NC。
具体接口信号如下:DB21.DBX61.0 T码改变,当NC遇到一个新的T指令时,该信号有效,信号只持续一个PLC周期。
DB21.DBW118 T码的值,也就是要交换的新刀号的值,该信号在新的刀号来之前一直有效对于机床来说,一般有一个实际存在的刀库,同时根据实际情况,可能有一到两个机械手,至少一个主轴,有的刀库还需要用来装卸刀具的装卸站,系统把实际存在的刀库定义为刀库1,这个刀库里有定义好的刀座数,机械手和主轴定义为虚拟的缓存刀库,刀库号为9998,一般定义主轴为这个刀库里的第一个刀座,其它依次为机械手1,机械手2.....等等,对于装/卸刀具站而言,定义为另外一个虚拟的刀库,刀库号为9999,依据实际情况定义里面的刀座数,一般主轴都能用来装/卸刀具,所以至少算一个刀座。
如下图所示:这台机床有一个实际的链式刀库,刀库号为1,里面有16个刀座,有一个主轴和两个机械手卡爪,它们都属于一个虚拟的刀库9998,分别对应为这个刀库里面的刀座1,2和3,还有一个装/卸刀具站,它的刀库号为9999,加上主轴也是一个装/卸刀站,这个刀库有两个刀座,分别为刀座1和2,下面以这个示例来说明刀库管理功能的调试。
db4触发二极管参数摘要:1.引言2.DB4 触发二极管的定义和特点3.DB4 触发二极管的主要参数4.DB4 触发二极管参数的测试和调整5.结论正文:【引言】在电子元器件中,触发二极管是一种重要的半导体器件,被广泛应用于各种触发电路和保护电路中。
其中,DB4 触发二极管以其稳定性能和可靠质量,成为了众多触发二极管中的佼佼者。
本文将为您详细介绍DB4 触发二极管的参数及其测试和调整方法。
【DB4 触发二极管的定义和特点】DB4 触发二极管,又称双向硅控整流器,是一种半导体二极管电子器件。
它具有双向导通特性,可以在正负两个方向导通,同时具有电压、电流控制的特点。
这使得DB4 触发二极管在触发电路和保护电路中具有很高的灵活性和稳定性。
【DB4 触发二极管的主要参数】DB4 触发二极管的主要参数包括:1.正向电压(Vf):正向电压是指二极管正向导通时的电压。
DB4 触发二极管的正向电压范围为0.2~0.3V。
2.反向电压(Vr):反向电压是指二极管反向不导通时的电压。
DB4 触发二极管的反向电压范围为100~200V。
3.触发电流(Itr):触发电流是指使二极管导通的最小电流。
DB4 触发二极管的触发电流范围为5~20μA。
4.动态响应特性:动态响应特性是指二极管从关态到开态的时间。
DB4 触发二极管的动态响应特性较快,一般在纳秒级。
【DB4 触发二极管参数的测试和调整】为了确保DB4 触发二极管的性能,需要对其参数进行测试和调整。
一般可通过以下方法进行:1.静态测试:使用万用表或示波器测量二极管的正向电压、反向电压和触发电流等参数。
2.动态测试:通过给定的触发信号,观察二极管是否能够快速响应并导通。
3.调整:如发现参数异常,可以通过调整二极管的偏置电压或触发信号来达到所需的参数要求。
【结论】DB4 触发二极管以其优秀的性能和稳定的质量,广泛应用于各种触发电路和保护电路中。
双向触发二极管DB3,DC34,DB4,DB6双向触发二极管用于驱动双向可控硅的调光灯,普遍电机转速控制,热控制电路。
封装:DO-35极限参数:符号Parameters 参数Value 数值Units单位DB3 D C34 D B4 DB6Pc Power Dissipation onPrintedCircuit(L=10mm)印刷线路板(长=10毫米)=10mm) 功耗TA=50150mWITRMRepetitive Peakin-state Current 反向重复峰值电流tp=10usF=100Hz2.0 2.0 2.0 1.6 ATSTG/TJ Storage and Operating JunctionTemperature存储和工作结温-40 to +125/-40 to 110 ℃电气特性数据:Symbols符号Parameters 参数Test Conditions 测试条件Value数值Units单位DB3 D C34 D B4 D B6VBO Breakover Voltage(Note2) 转折点电压c=22nF Seediagram1 见表最小28303556v典型323440 60最大36384570|+VBO|- |-VBO|Breakover VoltageSymmetry 转折点电压对称性c=22nF最大最小± 3 ± 4V5 10|±△V|Dynamic BreakoverVoltage(Note 1) 动态转折点电压I=(IBO toIF=10mA) Seediagram1Vo Output Voltage(Note 1)输出电压See diagram2最小5VIBO Breakover Current(Note1) 转折点电流c=22nF最大100 μA trRise Time(Note 1) 上升时间See Diagram 3典型1.5μS IBLeakage Current(Note 1)泄漏电流VB=0.5 VBO max最大10 μA瓦图1 电压-电流特性图2 测试电路图图3:测试电路特性Ip=0.5A图4 耗散功率与环境温度曲线(最高值)图5 相对变化的VBO与juntion 温度(典型值)图6 峰值脉冲电流与脉冲持续时间图形(最大值)。
DB42269建筑地基基础检测技术规范篇一:建筑地基基础检测项目、方法及数量一览表附件:建筑地基基础检测项目、方法及数量一览表第4页,共4页备注:1:高层建筑:《建筑地基基础设计规范》GB50007-2002及《高层建筑混凝土结构技术规程》JGJ3-2010:10层及10层以上或房屋高度大于28m的住宅建筑和房屋高度大于24m的其他高层民用建筑均属高层建筑。
2:建筑桩基设计等级:篇二:建筑地基基础检测项目、方法及数量一览表附件:建筑地基基础检测项目、方法及数量一览表(恩施州)第1页,共4页第2页,共4页第3页,共4页第4页,共4页备注:1:高层建筑:《建筑地基基础设计规范》GB50007-2002及《高层建筑混凝土结构技术规程》JGJ3-2010:10层及10层以上或房屋高度大于28m的住宅建筑和房屋高度大于24m的其他高层民用建筑均属高层建筑。
2:建筑桩基设计等级:篇三:最新版施工及验收规范现行主要施工及验收规范(2012年)一、建筑工程验收规范1、《建筑工程施工质量验收统一标准》(GB50300—2001)2、《建筑地基基础工程施工质量验收规范》(GB50202—2002)3、《土方与爆破工程施工及验收规范》(GB50201—2012)4、《砌体结构工程施工质量验收规范》(GB50203—2011)5、《混凝土结构工程施工质量验收规范(2011年版)》(GB50204—2002)6、《钢结构工程施工质量验收规范》(GB50205—2001)7、《屋面工程质量验收规范》(GB50207—2012)8、《地下防水工程质量验收规范》(GB50208—2011)9、《建筑地面工程施工质量验收规范》(GB50209—2010)10、《(来自: 小龙文档网:db42,269-2003,建筑地基基础检测技术规范)建筑装饰装修工程质量验收规范》(GB50210—2001)11、《建筑节能工程施工质量验收规范》(GB50411-2007)12、《建筑给水排水及采暖工程施工质量验收规范》(GB50242—2002)13、《建筑电气工程施工质量验收规范》(GB50303—2002)14、《通风与空调工程施工质量验收规范》(GB50243—2002)15、《电梯工程施工质量验收规范》(GB50310—2002)16、《智能建筑工程质量验收规范》(GB50339—2003)17、《建筑物防雷工程施工与质量验收规范》(GB50601—2010)18、《火灾自动报警系统施工及验收规范》(GB50166—2007)19、《自动喷火系统施工及验收规范》(GB50261—2005)20、《机械设备安装工程施工及验收规范》(GB50231—2009)二、市政工程验收规范1、《城镇道路工程施工与质量验收规范》(CJJ1—2008)2、《城市桥梁工程施工与质量验收规范》(CJJ2—2008)3、《给水排水管道工程施工及验收规范》(GB50268—2008)4、《给水排水构筑物工程施工及验收规范》(GB50141—2008)5、《埋地塑料排水管道工程技术规范》(DB42/T546—2009)6、《地下铁道工程施工及验收规范(2003年版)》(GB50299—1999)7、《盾构法隧道工程施工及验收工程》(GB50466—2008)8、《铁路隧道工程施工质量验收标准》(TB10417—2003)9、《铁路桥涵工程施工质量验收标准》(TB10415—2003)10、《电气装置安装工程接地装置施工及验收规范》(GB50169—2006)11、《铁路桥涵施工规范》(TB10203—2002)12、《水泥基渗透结晶防水材料》(GB18445—2001)13、《钢管混凝土结构设计与施工规程》(CECS28:90)14、《盾构隧道管片质量检测技术标准》(CJJ/T164—2011)15、《钢管混凝土工程施工质量验收规范》(GB50628—2004)16、《埋地聚乙烯给水管道技术规程》(CJJ101—2004)三、施工技术规范1、《建筑地基处理技术规范》(JGJ79—2002)2、《建筑桩基技术规范》(JGJ94—2008)3、《建筑桩基检测技术规范》(JGJ106—2003)4、《建筑地基基础技术规范》(DB42/242—2003)5、《建筑地基基础检测技术规范》(DB42/269—2003)6、《建筑基坑支护技术规程》(JGJ120—2012)7、《混凝土结构工程施工范围》(GB50666—2011)8、《高层建筑混凝土结构技术规程》(JGJ3—2010)9、《补偿收缩混凝土应用技术规范》(JGJ/T178—2009)10、《大体积混凝土施工规范》(GB50496—2009)11、《混凝土外加剂应用技术规范》(GB50119—2003)12、《混凝土泵送施工技术规程》(JGJ/T1789—2009)13、《冷轧带肋钢筋混凝土结构技术规程》(JGJ95—2011)14、《混凝土强度检验评定标准》(GB/T50107—2010)15、《抹灰砂浆技术规程》(JGJ/T220—2010)16、《预拌砂浆应用技术规范》(JFJ/T223—2010)17、《钢结构工程施工规范》(GB50755—2012)18、《钢结构焊接及验收规程》(JGJ18—2012)19、《钢筋机械连接技术规程》(JGJ107—2010)20、《钢结构高强度螺栓连接技术规程》(JGJ182—2011)21、《钢结构焊接规范》(GB50661—2011)22、《钢结构现场检测技术标准》(GB/T50621—2010)23、《建筑钢结构防腐蚀技术规程》(JGJ/T251—2011)24、《空间网格结构技术规程》(JGJ7—2010)25、《膜结构技术规程》(CECS158:2004)26、《住宅工程质量通病防控技术规程》(DB42/T636—2010)27、《建筑工程饰面砖粘结强度检验标准》(JGJ110—2008)28、《建筑外墙防水工程技术规程》(JGJ/T235—2011)29、《地下工程防水技术规范》(GB50108—2008)30、《地下工程渗透治理技术规程》(GJG/T212—2011)31、《无机轻集料砂浆保温系统技术规程》(JGJ253—2011)32、《塑料门窗工程技术规程》(JGJ103—2008)33、《金属与石材幕墙工程技术规范》(JGJ133—2001)34、《建筑工程检测试验技术管理规范》(JGJ190—2010)35、《建筑结构检测技术标准》(GB/T50344—2004)36、《民用建筑工程部室内环境污染控制规范》(GB50325—2010)37、《建筑变形测量规范》(JGJ8—2007)38、《建筑工程冬期施工规范》(JGJ/T104—2011)39、《给水排水工程混凝土构筑物变形缝设计规程》(CECS117:2000)40、《武汉市市政工程细部施工操作指南》(桥梁工程)2012.7.1实施41、《武汉市市政工程细部施工操作指南》(道排工程)2012.1.1实施42、《建筑基坑工程监测技术规范》(GB50497—2009)四、安全技术规范1、《建筑施工安全检查标准》(JGJ59—2011)2、《地铁工程施工安全评价标准》(GB50715—2011)3、《施工现场临时建筑物技术规范》(JGJ/T188—2009)4、《塔式起重机混凝土基础工程技术规程》(JGJ/T187—2009)5、《建筑施工塔式起重机安装、使用、拆卸安全技术规程》(JGJ196—2010)6、《建筑施工升降机安装、使用、拆卸安全技术规程》(JGJ215—2010)7、《龙门架及井架物料提升机安全技术规范》(JGJ88—2010)8、《建筑施工工具式脚手架安全技术规范》(JGJ202—2010)9、《建筑施工扣件式钢管脚手架安全技术规范》(JGJ130—2011)10、《建筑施工门式钢管脚手架安全技术规范》(JGJ128—2010)11、《建筑施工碗扣式钢管脚手架安全技术规范》(JGJ166—2008)12、《建筑施工模板安全技术规范》(JGJ162—2008)13、《建筑工程施工现场消防安全技术规范》(GB50720—2011)14、《建筑施工土石方工程安全技术规范》(JGJ180—2009)15、《施工现场临时用电安全技术规范》(JGJ46—2005)16、《建筑机械使用安全技术规范》(JGJ33—2012)17、《施工现场机械设备检查技术规范》(JGJ160—2008)18、《建筑施工其中吊装工程安全技术规范》(JGJ276—2012)五、标准及规定1、《混凝土结构施工图平面整体表示方法制图规则和构造详图(现浇混凝土框架、剪力墙、梁、板)》(11G101—1)2、《混凝土结构施工图平面整体表示方法制图规则和构造详图(现浇混凝土板式楼底)》(11G101—2)3、《混凝土结构施工图平面整体表示方法制图规则和构造详图(独立基础、条形基础、筏板基础及桩基承台)》(11G101—3)4、《市政排水管道工程及附属设施》(06MS201)5、《市政给水管道工程及附属设施》(07MS101)6、《武汉市建设工程竣工档案编制及报送规定》(武建【2004】272号)7、《武汉市建筑施工现场安全质量标准化达标实施手册》(武城建【2010】12号)8、《武汉市建设工程施工文明施工标准化达管理手册》(武城建【2010】113号)。
通达信双线作战主图指标公式{波段高低点}G:=ZIG((H+MAX(C,O))/2,5);G1:=G>REF(G,1) AND G>REFX(G,1);D1:=G<REF(G,1) AND G<REFX(G,1);D:=ZIG((L+MIN(C,O))/2,5);G2:=D>REF(D,1) AND D>REFX(D,1);D2:=D<REF(D,1) AND D<REFX(D,1);GG:=FILTER(G1 OR G2,5) AND CURRBARSCOUNT>D;DD:=FILTER(D1 OR D2,5) AND CURRBARSCOUNT>D;{前期高低点距今}GB1:=BARSLAST(GG);GB2:=REFV(GB1,GB1+1)+GB1+1;GB3:=REFV(GB1,GB2+1)+GB2+1;GB4:=REFV(GB1,GB3+1)+GB3+1;DB1:=BARSLAST(DD);DB2:=REFV(DB1,DB1+1)+DB1+1;DB3:=REFV(DB1,DB2+1)+DB2+1;DB4:=REFV(DB1,DB3+1)+DB3+1;{均线}E2:=EMA(C,20);A21:=REFV(100*ABS(G-E2)/E2,GB1)<2; A22:=REFV(100*ABS(G-E2)/E2,GB2)<2; A23:=REFV(100*ABS(G-E2)/E2,GB3)<2; A24:=REFV(100*ABS(G-E2)/E2,GB4)<2; B21:=REFV(100*ABS(D-E2)/E2,DB1)<2; B22:=REFV(100*ABS(D-E2)/E2,DB2)<2; B23:=REFV(100*ABS(D-E2)/E2,DB3)<2; B24:=REFV(100*ABS(D-E2)/E2,DB4)<2; CX2:=A21+A22+A23+A24+B21+B22+B23+B24,NODRAW;E3:=EMA(C,30);A31:=REFV(100*ABS(G-E3)/E3,GB1)<2; A32:=REFV(100*ABS(G-E3)/E3,GB2)<2; A33:=REFV(100*ABS(G-E3)/E3,GB3)<2; A34:=REFV(100*ABS(G-E3)/E3,GB4)<2; B31:=REFV(100*ABS(D-E3)/E3,DB1)<2; B32:=REFV(100*ABS(D-E3)/E3,DB2)<2; B33:=REFV(100*ABS(D-E3)/E3,DB3)<2; B34:=REFV(100*ABS(D-E3)/E3,DB4)<2; CX3:=A31+A32+A33+A34+B31+B32+B33+B34,NODRAW;E4:=EMA(C,40);A41:=REFV(100*ABS(G-E4)/E4,GB1)<2; A42:=REFV(100*ABS(G-E4)/E4,GB2)<2; A43:=REFV(100*ABS(G-E4)/E4,GB3)<2; A44:=REFV(100*ABS(G-E4)/E4,GB4)<2;B41:=REFV(100*ABS(D-E4)/E4,DB1)<2; B42:=REFV(100*ABS(D-E4)/E4,DB2)<2; B43:=REFV(100*ABS(D-E4)/E4,DB3)<2; B44:=REFV(100*ABS(D-E4)/E4,DB4)<2; CX4:=A41+A42+A43+A44+B41+B42+B43+B44,NODRAW;E5:=EMA(C,50);A51:=REFV(100*ABS(G-E5)/E5,GB1)<2; A52:=REFV(100*ABS(G-E5)/E5,GB2)<2; A53:=REFV(100*ABS(G-E5)/E5,GB3)<2; A54:=REFV(100*ABS(G-E5)/E5,GB4)<2; B51:=REFV(100*ABS(D-E5)/E5,DB1)<2; B52:=REFV(100*ABS(D-E5)/E5,DB2)<2; B53:=REFV(100*ABS(D-E5)/E5,DB3)<2; B54:=REFV(100*ABS(D-E5)/E5,DB4)<2; CX5:=A51+A52+A53+A54+B51+B52+B53+B54,NODRAW;E6:=EMA(C,60);A61:=REFV(100*ABS(G-E6)/E6,GB1)<2; A62:=REFV(100*ABS(G-E6)/E6,GB2)<2; A63:=REFV(100*ABS(G-E6)/E6,GB3)<2; A64:=REFV(100*ABS(G-E6)/E6,GB4)<2; B61:=REFV(100*ABS(D-E6)/E6,DB1)<2; B62:=REFV(100*ABS(D-E6)/E6,DB2)<2; B63:=REFV(100*ABS(D-E6)/E6,DB3)<2; B64:=REFV(100*ABS(D-E6)/E6,DB4)<2; CX6:=A61+A62+A63+A64+B61+B62+B63+B64,NODRAW;E7:=EMA(C,70);A71:=REFV(100*ABS(G-E7)/E7,GB1)<2; A72:=REFV(100*ABS(G-E7)/E7,GB2)<2; A73:=REFV(100*ABS(G-E7)/E7,GB3)<2; A74:=REFV(100*ABS(G-E7)/E7,GB4)<2; B71:=REFV(100*ABS(D-E7)/E7,DB1)<2; B72:=REFV(100*ABS(D-E7)/E7,DB2)<2; B73:=REFV(100*ABS(D-E7)/E7,DB3)<2; B74:=REFV(100*ABS(D-E7)/E7,DB4)<2; CX7:=A71+A72+A73+A74+B71+B72+B73+B74,NODRAW;E8:=EMA(C,80);A81:=REFV(100*ABS(G-E8)/E8,GB1)<2; A82:=REFV(100*ABS(G-E8)/E8,GB2)<2; A83:=REFV(100*ABS(G-E8)/E8,GB3)<2; A84:=REFV(100*ABS(G-E8)/E8,GB4)<2; B81:=REFV(100*ABS(D-E8)/E8,DB1)<2; B82:=REFV(100*ABS(D-E8)/E8,DB2)<2; B83:=REFV(100*ABS(D-E8)/E8,DB3)<2; B84:=REFV(100*ABS(D-E8)/E8,DB4)<2; CX8:=A81+A82+A83+A84+B81+B82+B83+B84;E9:=EMA(C,90);A91:=REFV(100*ABS(G-E9)/E9,GB1)<2; A92:=REFV(100*ABS(G-E9)/E9,GB2)<2; A93:=REFV(100*ABS(G-E9)/E9,GB3)<2; A94:=REFV(100*ABS(G-E9)/E9,GB4)<2; B91:=REFV(100*ABS(D-E9)/E9,DB1)<2; B92:=REFV(100*ABS(D-E9)/E9,DB2)<2; B93:=REFV(100*ABS(D-E9)/E9,DB3)<2; B94:=REFV(100*ABS(D-E9)/E9,DB4)<2; CX9:=A91+A92+A93+A94+B91+B92+B93+B94;E10:=EMA(C,100);A101:=REFV(100*ABS(G-E10)/E10,GB1)<2;A102:=REFV(100*ABS(G-E10)/E10,GB2)<2;A103:=REFV(100*ABS(G-E10)/E10,GB3)<2;A104:=REFV(100*ABS(G-E10)/E10,GB4)<2;B101:=REFV(100*ABS(D-E10)/E10,DB1)<2; B102:=REFV(100*ABS(D-E10)/E10,DB2)<2; B103:=REFV(100*ABS(D-E10)/E10,DB3)<2; B104:=REFV(100*ABS(D-E10)/E10,DB4)<2; CX10:=A101+A102+A103+A104+B101+B102+B103+B104;E11:=EMA(C,110);A111:=REFV(100*ABS(G-E11)/E11,GB1)<2; A112:=REFV(100*ABS(G-E11)/E11,GB2)<2; A113:=REFV(100*ABS(G-E11)/E11,GB3)<2; A114:=REFV(100*ABS(G-E11)/E11,GB4)<2; B111:=REFV(100*ABS(D-E11)/E11,DB1)<2; B112:=REFV(100*ABS(D-E11)/E11,DB2)<2; B113:=REFV(100*ABS(D-E11)/E11,DB3)<2; B114:=REFV(100*ABS(D-E11)/E11,DB4)<2; CX11:=A111+A112+A113+A114+B111+B112+B113+B114;E12:=EMA(C,120);A121:=REFV(100*ABS(G-E12)/E12,GB1)<2;A122:=REFV(100*ABS(G-E12)/E12,GB2)<2;A123:=REFV(100*ABS(G-E12)/E12,GB3)<2;A124:=REFV(100*ABS(G-E12)/E12,GB4)<2;B121:=REFV(100*ABS(D-E12)/E12,DB1)<2; B122:=REFV(100*ABS(D-E12)/E12,DB2)<2; B123:=REFV(100*ABS(D-E12)/E12,DB3)<2; B124:=REFV(100*ABS(D-E12)/E12,DB4)<2; CX12:=A121+A122+A123+A124+B121+B122+B123+B124;MCX:=MAX(CX2,MAX(CX3,MAX(CX4,MAX(CX5,MAX(CX6,MAX(CX7,MAX(CX8,MAX(C X9,MAX(CX10,MAX(CX11,CX12))))))))));P2:=CX2=MCX AND MCX>1; P3:=CX3=MCX AND MCX>1; P4:=CX4=MCX AND MCX>1; P5:=CX5=MCX AND MCX>1;P6:=CX6=MCX AND MCX>1;P7:=CX7=MCX AND MCX>1; P8:=CX8=MCX AND MCX>1; P9:=CX9=MCX AND MCX>1; P10:=CX10=MCX AND MCX>1; P11:=CX11=MCX AND MCX>1; P12:=CX12=MCX AND MCX>1;N1:=CONST(IF((P2 AND P4) OR (P3 AND P2=0 AND P4=0),30,IF(P2 AND P3 AND P4=0,25,IF(P2=0 AND P3 AND P4,35,IF(P2 AND P3=0 AND P4=0,20,IF(P2=0 AND P3=0 AND P4,40,0)))))),NODRAW;N2:=CONST(IF((P5 AND P7) OR (P6 AND P5=0 AND P7=0),60,IF(P5 AND P6 AND P7=0,55,IF(P5=0 AND P6 AND P7,65,IF(P5 AND P6=0 AND P7=0,50,IF(P5=0 AND P6=0 AND P7,70,0)))))),NODRAW;N3:=CONST(IF((P8 AND P10) OR (P9 AND P8=0 AND P10=0),90,IF(P8 AND P9 AND P10=0,85,IF(P8=0 AND P9 AND P10,95,IF(P8 AND P9=0 AND P10=0,80,IF(P8=0 AND P9=0 AND P10,100,0)))))),NODRAW;N4:=CONST(IF(P11 AND P12,115,IF(P11 AND P12=0,110,IF(P11=0 AND P12,120,0)))),NODRAW;周期:=IF(N4>0,N4,IF(N3>0,N3,IF(N2>0,N2,IF(N1>0,N1,IF(TOTALBARSCOUNT<55,13,55)) ))),NODRAW;{NOTEXTEE1:IF(N1>0,EMA(C,N1),DRAWNULL),COLORLIBLUE;NOTEXTEE2:IF(N2>0 AND N1<=0,EMA(C,N2),DRAWNULL),COLORLIBLUE; NOTEXTEE3:IF(N3>0 AND N1<=0 AND N2<=0,EMA(C,N3),DRAWNULL),COLORLIBLUE;NOTEXTEE4:IF(N4>0,EMA(C,N4),DRAWNULL),COLORLIBLUE;}NOTEXTEE0:=EMA(C,周期);NOTEXT01:IF(NOTEXTEE0>=REF(NOTEXTEE0,1) AND 周期>1,NOTEXTEE0,DRAWNULL),COLORRED,LINETHICK1;NOTEXT02:IF(NOTEXTEE0<=REF(NOTEXTEE0,1) AND 周期>1,NOTEXTEE0,DRAWNULL),COLORGREEN,LINETHICK1;{DRAWNUMBER(ISLASTBAR,EMA(C,周期),EMA(C,周期));}一根筋:EMA(C,周期),COLORRED,NODRAW;分水岭:EMA(EMA(CLOSE,90)*1.01,10),LINETHICK1,COLORMAGENTA;。
第四章数据库的保护4.1 数据库的安全性4.2 数据库的完整性4.3 数据库的并发控制4.4 数据库的恢复4.5 数据库的复制与镜像4.1 数据库的安全性●数据库的安全性是指保护数据库以防止不合法的使用造成泄漏、更改或破坏等。
●采用的方法有:–用户标识和鉴别–使用视图–数据加密●数据库系统的安全模型–存取权限控制–审计应用DBMS OS DB 用户标识存取控制操作系统保护密码存储4.1.1用户标识和鉴别●一般由系统管理员(DBA)为每个用户建立一个用户名(用户标识/帐号)和用户口令。
用户必须使用此标识方可进入系统●语法:CREATE USER <username> IDENTIFIED BY<password>●二次登录问题4.1.2存取控制●存取权限两要素:–数据对象–操作类型●授权–定义某用户对哪些数据对象具有哪些类型的操作●数据对象的粒度–表、列、行(一般由视图实现)–粒度越细,授权子系统越灵活,安全性越完善。
但系统开销越大,数据字典庞大权限限制的种类–对用户进行控制。
用户只可以访问自己的子模式–对操作类型进行控制操作一般包括:查询、修改、插入、删除等用户可以被授予不同的操作权限–对数据对象的控制用户可以被限制访问某些表或表的列权限组(角色)概念–角色是数据库预先设置的一系列具有某种常用权限的组合。
某用户属于一个角色就拥有该角色的所有权限了SYBASE的一些角色–sa_role–sso_role–sybase_ts_role–navigator_roleORACLE中的三类角色–Connect(用于数据库录入人员)●可以访问ORACLE●对于允许的表可以做查询和更新操作。
●建立视图和同义词–Resource(用于开发人员)●具有Connect的所有权限●建表、索引、聚簇等权限●对于自己创建的对象可以操作并可以给他人赋权●使用审计命令–DBA(用于管理人员)●具有Resource的所有权限●可以访问任何用户的数据●授予或收回用户权限●建立公共同义词●建立和修改分区●执行数据库的卸出●审计●Oracle中存取控制的语法–授权语句/新建用户GRANT[CONNECT | RESOURCE | DBA] TO<username> [IDENTIFIED BY <password> ]–收回权限/删除用户:REVOKE[CONNECT | RESOURCE | DBA] FROM<username>–操作权限控制GRANT <操作权> ON <表名> TO <username|public>[WITH GRANT OPTION]●其中“操作权”包括:SELECT、INSERT、DELETE、UPDATE、ALTER、INDEX、ALL●对象拥有者自然用于对对象的操作权,只有拥有者和DBA可以将对象的操作权赋予别人4.1.3定义视图●可以通过建立视图屏蔽用户不该看到的数据内容,但视图的主要功能是实现数据独立性,其安全保护功能不够精细4.1.4数据加密●ORACLE和SYBASE数据库都提供对存储过程的加密,在SYBASE中使用SP_HIDETEXT4.1.5审计●非强制性安全保护措施,自动记录对数据库的访问存取痕迹●分为用户级和系统级–用户级主要用户设置,针对用户自己创建的对象的审计,包括对这些对象的各种访问–系统级审计是DBA进行的,针对用户登录的成功与否以及对数据库级权限的操作●审计常常消耗大量时间和空间资源,所以一般作为可选项可灵活打开和关闭,视系统的安全性要求而定例:对SC表的ALTER和UPDATE进行审计AUDIT ALTER,UPDATE ON SC取消对SC表的任何审计NOAUDIT ALL ON SC4.2 数据库的完整性●数据库安全性是防止非法用户的非法操作,而完整性是是防止不合语义的数据●数据库完整性的实现机制–DBMS检查数据库中的数据是否满足语义规定的条件,这些加在数据库数据之上的语义约束条件称为数据库完整性约束条件–而DBMS中检查数据是否满足完整性条件的机制称完整性检查4.2.1完整性约束条件●完整性约束条件作用的对象可以分为:列级、元组级和关系级三个粒度–列级约束主要约束列的取值类型、范围、精度排序等–元组级约束主要约束记录中各个字段之间的联系–关系级约束主要是约束多个记录或关系之间的联系●完整性约束就其状态可以分为静态和动态的–静态主要是反映数据库的状态是合理的–动态主要是反映数据库的状态变迁是否合理1)静态列级约束–对数据类型的约束,包括数据的类型、长度、单位、精度等,如char(10)。
–对数据格式的约束,如日期YY/MM/DD–对取值范围或集合的约束。
–对空值的约束–其他约束2)静态元组级约束–静态元组约束只作用于单个元组上,如高考成绩,某个字段为其他个字段的和3)静态关系级约束–静态关系约束常见有四种●实体完整性约束●参照完整性约束●函数依赖约束●统计约束4)动态列级约束–修改定义时的约束:如由空改为非空–修改列值时的约束:如新旧值之间有某种要求5 )动态元组级约束–修改后的值与原来多个字段相关6 )动态关系级约束–关系变化前后的状态限制,主要是事务的一致性和原子性4.2.2完整性控制●完整性控制机制应该具有的功能–定义功能:定义约束条件–检查功能:检查用户的操作请求是否违背了完整性约束条件–执行动作:在发现用户的操作违背了完整性约束条件后,能采取一定的动作来保证数据的完整性●检查功能分两类–立即执行约束(immediate constraint)–延迟执行约束(deferred constraint)如帐号之间的转移与“借贷平衡约束”完整性规则的形式化表示(D,O,A,C,P)–D(data):数据对象–O(opration):触发完整性检查的数据库操作–A(assertion):数据对象必须满足的语义约束/断言,规则的主体–C(condition):选择数据对象的条件,可包含在D内–P(procedure):违反完整性规则所触发的操作过程例:教授工资不低于1000元D:约束作用对象是属性“工资”O:当用户插入或修改“工资”属性时触发完整性检查A:“工资”不能小于1000C:仅作用于“职称”属性值为教授的记录P:拒绝执行用户请求●参照完整性应考虑的问题–外键是否可以接受空值,如S.SD可以,SC.S#不可以–删除被参照关系的元组时的考虑●级联删除(Cascade):删除参照关系中相应外键值的元组●受限删除(Restricted):只有参照关系中没有相应外键值的元组时才允许删除●置空值删除(nullified):将参照关系中相应外键置空–修改被参照关系的元组时的考虑●级联修改(Cascade):修改参照关系中相应元组的外键值●受限修改(Restricted):只有参照关系中没有相应外键值的元组时才允许修改●置空值修改(nullified):将参照关系中相应外键置空4.2.3 Oracle的完整性控制Oracle中的实体完整性CREATE TABLE S(S#char(10),SN char(20),SS char(2),SA int,SD char(5),CONSTRAINT pk_1 PRIMARY KEY (S#));Oracle中的参照完整性CREATE TABLE SC(S#char(10),C#char(4),GR int,CONSTRAINT fk_1FOREIGN KEY(C#) REFRENCES C(C#),CONSTRAINT fk_2FOREIGN KEY(S#) REFRENCES S(S#)ON{DELETE CASCADE| SET NULL});缺省的P操作是RESTRICTOracle中的用户自定义完整性–列级CREATE TABLE S(S#char(10)CONSTRAINT CHK1CHECK(substr (S#,3,8)BETWEEN‘00000001’AND‘50999999’),SN char(20),SS char(2)CONSTRAINT CHK2CHECK(SS IN (‘男’,’女’)),SA int CONSTRAINT CHK3CHECK(SA<100),SD char(5),CONSTRAINT pk_1 PRIMARY KEY (S#));–元组级CREATE TABLE EMP(eno NUMBER(4)ename VARCHAR(20),sal number(7,2),deduct number(7,2),CONSTRAINT CHK1 CHECK(sal+deduct<3000));–触发器CREATE TRIGGER UPDATE_SAL:BEFORE INSERT OR UPDATE OF sal,pos ON Teacher FOR EACH ROWWHEN(:new.pos=’教授’)BEGINIF:new.sal<800THEN:new.sal:=800;END IFEND4.3 数据库的并发控制4.3.1 事务●事务(Transaction):是并发控制的单位,是数据库的逻辑工作单位,是用户定义的一组操作序列,表现为一组SQL语句或一个程序。
事务可以由用户显式指定,或隐式为数据库缺省事务●显式事务的语句–BEGIN TRANSACTION [transaction name]–COMMIT [TRANSACTION transaction name]–ROLLBACK [TRANSACTION transaction name]事务的特性(ACID)–原子性(Atomicity):一个事务对数据库所做的操作是不可分割的,要么全部执行,要么什么也不做,即要么提交,要么回滚。
保证事务的原子性是数据库的职责,由DBMS事务管理子系统实现–一致性(Consistency):事务的执行将保持数据库的一致性,即数据不会因事务的执行而被破坏。
该性质由程序员和系统完整性约束检查完成–隔离性(Isolation):多个事务并发时,应和这些事务先后单独执行的结果一样,即事务内操作的数据对并发的其他事务而言是隔离的,这种隔离的程度被定义为事务的隔离级别。
隔离性由DBMS并发控制子系统实现–持久性(Durability):一个事务一旦完成提交,其对数据库的更新将永久反映在数据库中,不会因为系统的故障而丢失。
这主要有数据库的恢复管理子系统完成4.3.2 数据库的并发操作带来的四大问题修改丢失问题:事务2对A 的修改A =20丢失A =A +5写A 读A 事务1A=5A=20A =A +15写A读A 事务2A=10时间对A 的修改丢失污(脏)读问题:正确值应该是读出A =5 A =A +5写A 读A 事务1A=5A=10读A事务2A=5时间回退读出错误值10不可重复读问题:两次读出A 不一致A =A +5写A读A 事务1A=5A=10读A事务2时间读A 两次读出A 不一致幻影读问题:同样的语句返回结果不一样事务1col1 col21TX 2NY 3CO col1 col21TX2NY3CO4FL事务2时间同样的语句返回结insert into t1(col1,col2)values(4,’FL’)select col1 from t1where col1<5select col1 from t1where col1<54.3.3 数据库的并发操作调度●可串行性是衡量并发事务正确性的唯一标准–多个事务并发时是正确的,当且仅当其结果和某一种次序串行地执行它们时地结果相同。