汇编语言-课程设计2

news/2024/10/17 18:14:17/

;===============OVERVIEW================

DOG.exe 中 装载了程序 installer1, installer2, installer3, booter, newint, mainsub, set_ui, wait_choice, f1, f2, f3, f4, f5, show_str;

mainsub 拥有五个功能函数 f1~f5, 两个子函数 set_ui & wait_choice, 一个通用的 show_str;

installer1 将 booter 装入软盘1号扇区, installer2 将 newint 装入软盘2号扇区, installer3 将 mainsub 装入软盘3~6号扇区;

booter 负责用 newint 替换旧的 BIOS int 9h 中断例程, 将 mainsub 安装, 并将几个重要的地址记录在地址0:200h处. Jump 至 mainsub;

newint 位于0:200h-0:400h, 但前 10h bytes 留空, 用来给 booter 写入几个函数的入口地址. newint 在旧的 int 9h 功能的基础上增加了对 F1 与 ESC 键的特殊处理. Press ESC to jump to mainsub again;

mainsub 位于7e0h:0. 开辟一块栈之后, call set_ui and then jump to wait_choice;

show_str 功能是 show string;

set_ui 功能是 set UI;

wait_choice 用于触发 f1~f5;

注意: 需要想出一个 idea(我的源程序中有具体方法), 解决按下 esc 之后键盘缓冲区如何清空的问题.


;=======IMPLEMENTATION & SOURCE=========

嘉心糖的汇编语言课程设计-For Miss.JiaRan_哔哩哔哩_bilibili汇编语言-课程设计2耗时六天半?(五天在摸鱼8086 yyds !https://www.bilibili.com/video/BV15L411w7kU?share_source=copy_web

assume cs:code,ss:stackstack segmentdb 32 dup (0)
stack endscode segmentstart:mov ax,stackmov ss,axmov sp,32             ;SS:SP=stack:32call installer1call installer2call installer3mov ax,4c00hint 21h
;XXXXXXXXXXXXXXXXXXXXXThree installer-functions are here.XXXXXXXXXXXXXXXXXXXXXXX
installer1:;boot.exe in 1push bxpush espush axpush cxpush dxmov bx,seg first_installedmov es,bxmov bx,offset first_installed   ;es:bx -> first_installedmov ah,3    ;writemov al,1    ;amountmov ch,0mov cl,1    ;number:1mov dx,0int 13hpop dxpop cxpop axpop espop bxret
;-------------------------------------------------------------------------------
installer2:;newint.exe in 2push bxpush espush axpush cxpush dxmov bx,seg second_installedmov es,bxmov bx,offset second_installed   ;es:bx -> second_installedmov ah,3    ;writemov al,1    ;amountmov ch,0mov cl,2    ;number:2mov dx,0int 13hpop dxpop cxpop axpop espop bxret
;-------------------------------------------------------------------------------
installer3:;mainsub.exe in 3,4,5,6push bxpush espush axpush cxpush dxmov bx,seg third_installedmov es,bxmov bx,offset third_installed   ;es:bx -> third_installedmov ah,3    ;writemov al,4    ;amountmov ch,0mov cl,3    ;number:3mov dx,0int 13hpop dxpop cxpop axpop espop bxret
first_installed:;XXXXXXXXXHere is 1st to be installed.XXXXXXXXXXXXXXXXXXXXXXXXXX
;CS:IP=0:7c00h
;      0:7e00hbooter:climov bx,860hmov ss,bxmov sp,400h     ;SS:SP=860h:400h;boot newintmov bx,0mov es,bxmov bx,200h     ;ES:BX=0:200hmov ah,2        ;readmov al,1        ;amountmov ch,0mov cl,2        ;number:2mov dx,0int 13h         ;newint is ready, 0:200h~0:210h are emptypush es:[9*4]pop es:[200h]push es:[9*4+2]pop es:[202h]   ;store old int9's addressmov word ptr es:[9*4],210hmov word ptr es:[9*4+2],0    ;newint's address is 0:210hmov word ptr es:[204h],0mov word ptr es:[206h],7e0h  ;(dword ptr 0:204h)=7e0h:0 i.e. 0:7e00hmov word ptr es:[208h],7c00hmov word ptr es:[20ah],0     ;(dword ptr 0:208h)=0:7c00h i.e. 7c0h:0mov word ptr es:[20ch],0mov word ptr es:[20eh],0ffffh     ;(dword ptr 0:20ch)=0ffffh:0mov bx,7e00h    ;ES:BX=0:7e00hmov ah,2        ;readmov al,4        ;amountmov ch,0mov cl,3        ;number:3mov dx,0int 13hjmp dword ptr cs:[204h]db 0dw 510 dup (0aa55h)
second_installed:;XXXXXXXXHere is 2nd to be installed.XXXXXXXXXXXXXXXXXXXXXXXXXX
newint:;two functions:;    Press f1  to change the time's string's color;    Press esc to jump to mainsub, i.e. 7e0h:0db 10h dup (0);10h 'free' bytes, newint starts at 0:210hpush axpush dipush espush cxin al,60hpushfcall dword ptr cs:[200h]cmp al,3bhje prs_f1cmp al,01hje prs_escnewint_end:pop cxpop espop dipop axiretprs_esc:cl_kb:mov ah,0int 16hmov ah,1int 16hpushfpop axand ax,0000000001000000bcmp ax,0je cl_kbjmp dword ptr cs:[204h]prs_f1:mov di,(80*4+8)*2+1mov ax,0b800hmov es,ax               ;ES:DI=0b800h:(80*4+8)*2+1mov al,es:[di]inc alor al,00001000b         ;highlightmov cx,49change_time_color:mov es:[di],aladd di,2loop change_time_colorjmp newint_end
third_installed:;XXXXXXXXXHere is 3rd to be installed.XXXXXXXXXXXXXXXXXXXXXXXXXX
;CS:IP=7e0h:0
mainsub:climov bx,860hmov ss,bxmov sp,400h         ;SS:SP=860h:400hcall set_uijmp wait_choice
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxTWO SUBxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
set_ui:push bpmov bp,sppush axpush espush dipush cxpush siclimov di,0b800hmov es,dimov di,0                ;ES:DI=0b800h:0mov cx,80*25clearall:mov word ptr es:[di],0000111000000000b   ;default highlight yellow charadd di,2loop clearalljmp show_optionsoptions:db '1) reset pc',               0;12db '2) start system',           0;16db '3) clock',                  0;09db '4) set clock',              0;13db '5) LOVE from Miss.Jia Ran',0;26show_options:;(1)mov si,offset options - offset mainsubpush simov ah,10mov al,50mov cl,00001010bcall show_str;(2)mov si,offset options - offset mainsub + 12push simov ah,11mov al,50mov cl,00001010bcall show_str;(3)mov si,offset options - offset mainsub + 12 + 16push simov ah,12mov al,50mov cl,00001010bcall show_str;(4)mov si,offset options - offset mainsub + 12 + 16 + 9push simov ah,13mov al,50mov cl,00001010bcall show_str;(5)mov si,offset options - offset mainsub + 12 + 16 + 9 + 13push simov ah,15mov al,50mov cl,00001010bcall show_strpop sipop cxpop dipop espop axpop bpret
;===============================================================================
wait_choice:stimov ah,0int 16hcmp al,'1'je option1cmp al,'2'je option2cmp al,'3'je option3cmp al,'4'je option4cmp al,'5'je option5jmp next_optionoption1:call f1jmp next_optionoption2:call f2jmp next_optionoption3:call f3jmp next_optionoption4:call f4jmp next_optionoption5:call f5jmp next_optionnext_option:jmp wait_choice
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxFIVE FUNCxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
f1:climov bx,0mov es,bxmov bx,20chjmp dword ptr es:[bx]
;===============================================================================
f2:climov bx,0mov es,bxmov bx,7c00hmov ah,2mov al,1mov ch,0mov cl,1mov dh,0mov dl,80hint 13hmov bx,0mov es,bxmov bx,208hjmp dword ptr es:[bx]
;===============================================================================
f3:push bpmov bp,sppush axpush dspush sipush cxstijmp read_cmositime:db '20yy mm-dd hh:mm:ss (Press F1 to change color :-)',0;   012345678901234567890123456789012345678901234567890;   0         1         2         3         4         5read_cmos:push cspop dsmov si,offset itime - offset mainsub;yearmov al,9out 70h,alin al,71hmov ah,aland ax,0000111111110000bmov cl,4shr al,cladd ax,3030hmov word ptr ds:[si+2],ax;monthmov al,8out 70h,alin al,71hmov ah,aland ax,0000111111110000bmov cl,4shr al,cladd ax,3030hmov word ptr ds:[si+5],ax;daymov al,7out 70h,alin al,71hmov ah,aland ax,0000111111110000bmov cl,4shr al,cladd ax,3030hmov word ptr ds:[si+8],ax;hourmov al,4out 70h,alin al,71hmov ah,aland ax,0000111111110000bmov cl,4shr al,cladd ax,3030hmov word ptr ds:[si+11],ax;minutemov al,2out 70h,alin al,71hmov ah,aland ax,0000111111110000bmov cl,4shr al,cladd ax,3030hmov word ptr ds:[si+14],ax;secondmov al,0out 70h,alin al,71hmov ah,aland ax,0000111111110000bmov cl,4shr al,cladd ax,3030hmov word ptr ds:[si+17],axjmp show_itimeshow_itime:push simov ax,0408hmov di,0b800hmov es,dimov di,4*80*2+8*2+1mov cl,es:[di]call show_strjmp read_cmos
;===============================================================================
f4:push cspop dsmov bx,offset fake_time - offset mainsub - 1;ds:bx -> fake_time-1mov di,0stijmp f4_startfake_time:db 'y','y','m','m','d','d','h','h','m','m','s','s',0db  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 0;   0   1   2   3   4   5   6   7   8   9  10  11 12f4_start:mov ax,0b800hmov es,axmov cl,es:[80*2*4+2*8+1]mov ax,0408hinc bxpush bxdec bxcall show_strf4_wait:mov ah,0int 16hcmp ah,0ehje prs_bscmp ah,1chje prs_entrcmp al,'0'jb f4_waitcmp al,'9'ja f4_waitjmp prs_numprs_num:cmp di,12je f4_waitinc dimov ds:[bx+di+13],almov ax,0b800hmov es,axmov cl,es:[4*80*2+2*8+1]inc bxpush bxdec bxmov ax,0408hcall show_stradd bx,14push bxsub bx,14mov ax,0408hcall show_strjmp f4_waitprs_bs:cmp di,0je f4_waitmov byte ptr ds:[bx+di+13],0dec dimov ax,0b800hmov es,axmov cl,es:[4*80*2+2*8+1]inc bxpush bxdec bxmov ax,0408hcall show_stradd bx,14push bxsub bx,14mov ax,0408hcall show_strjmp f4_waitprs_entr:;y1)cmp di,0je f4_end_trans_ydec dimov al,9out 70h,alin al,71hand al,00001111bmov ch,ds:[bx+14]sub ch,30hmov cl,4shl ch,clor al,chmov ah,almov al,9out 70h,almov al,ahout 71h,al;y2)cmp di,0je f4_end_trans_ydec dimov al,9out 70h,alin al,71hand al,11110000bmov ch,ds:[bx+15]sub ch,30hor al,chmov ah,almov al,9out 70h,almov al,ahout 71h,aljmp prs_entr_cnt_monf4_end_trans_y:jmp f4_endprs_entr_cnt_mon:;m1)cmp di,0je f4_end_trans_mondec dimov al,8out 70h,alin al,71hand al,00001111bmov ch,ds:[bx+16]sub ch,30hmov cl,4shl ch,clor al,chmov ah,almov al,8out 70h,almov al,ahout 71h,al;m2)cmp di,0je f4_end_trans_mondec dimov al,8out 70h,alin al,71hand al,11110000bmov ch,ds:[bx+17]sub ch,30hor al,chmov ah,almov al,8out 70h,almov al,ahout 71h,aljmp prs_entr_cnt_df4_end_trans_mon:jmp f4_endprs_entr_cnt_d:;d1)cmp di,0je f4_end_trans_ddec dimov al,7out 70h,alin al,71hand al,00001111bmov ch,ds:[bx+18]sub ch,30hmov cl,4shl ch,clor al,chmov ah,almov al,7out 70h,almov al,ahout 71h,al;d2)cmp di,0je f4_end_trans_ddec dimov al,7out 70h,alin al,71hand al,11110000bmov ch,ds:[bx+19]sub ch,30hor al,chmov ah,almov al,7out 70h,almov al,ahout 71h,aljmp prs_entr_cnt_hf4_end_trans_d:jmp f4_endprs_entr_cnt_h:;h1)cmp di,0je f4_end_trans_hdec dimov al,4out 70h,alin al,71hand al,00001111bmov ch,ds:[bx+20]sub ch,30hmov cl,4shl ch,clor al,chmov ah,almov al,4out 70h,almov al,ahout 71h,al;h2)cmp di,0je f4_end_trans_hdec dimov al,4out 70h,alin al,71hand al,11110000bmov ch,ds:[bx+21]sub ch,30hor al,chmov ah,almov al,4out 70h,almov al,ahout 71h,aljmp prs_entr_cnt_minf4_end_trans_h:jmp f4_endprs_entr_cnt_min:;m1)cmp di,0je f4_end_trans_mindec dimov al,2out 70h,alin al,71hand al,00001111bmov ch,ds:[bx+22]sub ch,30hmov cl,4shl ch,clor al,chmov ah,almov al,2out 70h,almov al,ahout 71h,al;m2)cmp di,0je f4_end_trans_mindec dimov al,2out 70h,alin al,71hand al,11110000bmov ch,ds:[bx+23]sub ch,30hor al,chmov ah,almov al,2out 70h,almov al,ahout 71h,aljmp prs_entr_cnt_sf4_end_trans_min:jmp f4_endprs_entr_cnt_s:;s1)cmp di,0je f4_enddec dimov al,0out 70h,alin al,71hand al,00001111bmov ch,ds:[bx+24]sub ch,30hmov cl,4shl ch,clor al,chmov ah,almov al,0out 70h,almov al,ahout 71h,al;s2)cmp di,0je f4_enddec dimov al,0out 70h,alin al,71hand al,11110000bmov ch,ds:[bx+25]sub ch,30hor al,chmov ah,almov al,0out 70h,almov al,ahout 71h,alf4_end:mov cx,13cl_time:mov byte ptr ds:[bx+14],0inc bxloop cl_timemov bx,0mov ds,bxmov bx,204hjmp dword ptr ds:[bx]
;===============================================================================
f5:stijmp f5_setf5_image:;   0  1  2  3   4  5  6  7   8  9 10 11  12 13 14 15  16 17 18 19  32 21 22 23  24 25 26 27  28 29 30 31  32 33 34 35  36 37 38db 32,32,32,32, 32,32,32,32, 32,32,03,03, 03,03,03,03, 03,03,32,32, 32,32,32,32, 03,03,03,03, 03,03,03,03, 32,32,32,32, 32,32, 0db 32,32,32,32, 32,32,32,32, 03,03,32,32, 32,32,32,32, 32,32,03,03, 32,32,03,03, 32,32,32,32, 32,32,32,32, 03,03,32,32, 32,32, 0db 32,32,32,32, 32,32,03,03, 32,32,32,32, 32,32,32,32, 32,32,32,32, 03,03,32,32, 32,32,32,32, 32,32,32,32, 32,32,03,03, 32,32, 0db 32,32,32,32, 03,03,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 03,03, 0db 32,32,32,32, 03,03,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 03,03, 0db 32,32,32,32, 03,03,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 03,03, 0db 32,32,32,32, 03,03,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 03,03, 0db 32,32,32,32, 03,03,03,03, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,03,03, 03,03, 0db 32,32,32,32, 32,32,03,03, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,03,03, 32,32, 0db 32,32,32,32, 32,32,32,32, 03,03,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 03,03,32,32, 32,32, 0db 32,32,32,32, 32,32,32,32, 32,32,03,03, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,03,03, 32,32,32,32, 32,32, 0db 32,32,32,32, 32,32,32,32, 32,32,32,32, 03,03,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 03,03,32,32, 32,32,32,32, 32,32, 0db 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,03,03, 03,03,32,32, 32,32,32,32, 03,03,03,03, 32,32,32,32, 32,32,32,32, 32,32, 0db 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,03,03, 32,32,03,03, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32, 0db 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 03,03,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32, 0f5_set:mov si,offset f5_image - offset mainsubmov ah,6mov al,0mov cx,15f5_show_image:push sicall show_stradd si,39inc ahloop f5_show_imagejmp f5_show_jxtjiaxintang:db 'Jia Xin Tang~',0f5_show_jxt:mov si,offset jiaxintang - offset mainsubpush simov ah,11mov al,15mov cl,00001100bcall show_strwait_f5_esc:nopjmp wait_f5_esc
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxshow_strxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
show_str:;ah=row, al=col, cl=color; push offsetpush bpmov bp,sppush axpush espush bxpush cxpush dipush dspush si;offset=[bp+4]mov bx,0b800hmov es,bxmov bx,ax        ;bh=row,bl=colmov ch,clmov cl,8shr ax,cl        ;al=rowmov ah,80*2mul ah           ;ax=row*80*2mov di,ax        ;di=row*80*2mov al,bl        ;al=colmov ah,2mul ah           ;ax=col*2add di,ax        ;ES:DI -> screen's rampush cspop dsmov si,[bp+4]    ;DS:SI -> string's addressshow_char:mov cl,ds:[si]push cxmov ch,0jcxz show_char_endpop cxmov es:[di],cxinc siadd di,2jmp show_charshow_char_end:pop cx              ;pushed one cx but haven't poped when show_char endspop sipop dspop dipop cxpop bxpop espop axpop bpret 2
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
code endsend start

;=================LEGACY=================

经过多次试验, 有一个小小的发现: 如果在实模式下将时间设置成真实世界不存在的时间, e.g. 0月2日, 或者是9时77分. 首先因为 CMOS 采用 BCD 的形式存储时间, 这么设置是可行的. 但是, 设置完这种时间之后, 再引导 WindowsXP 的话, 能见到著名的 Windows logo 与等待条, 不过之后就是黑屏, 然后...就没有然后了.

这可能与 VirtualBox 的实现方式有关, 首先我猜测的前提是 VirtualBox 模拟出了一块主板. 这当然是必然的, 不然如何借助端口找到 CMOS? 注意, 我的意思是指...逻辑上的模拟, 好比模拟 CPU, 只需要算出几个寄存器的值, 我想 Windows 能知晓的极限也就是 CPU 中某些寄存器的值了, 骗过 Windows 的话, 这么做足够了.

然后, Windows 启动时, 其自身也会对 硬件环境 / 必要的环境 做一个检测, 就像 BIOS 那样. Windows 发现时间很奇怪, 所以无法启动也是合情合理的; 但是, 同样是在 CMOS 中时间异常的情况下, 如果选择 reset PC, BIOS 并没有在检测硬件时发现异常, 因为后续能够成功进入 DOG.exe,  而且显示的时间确实是错误时间. 不过这不重要, 这只是说明 BIOS 并不会对 CMOS 中的时间信息进行检查而已.

让我不解的是, 在时间设定正常的情况下, 比如物理世界的时间是2022年, 虚拟主板上 CMOS 的时间是2012年. 以下述为前提: 我将 VirtualBox 中的网络功能禁用, 将虚拟机内的网络提前断开. 按理说 start system 之后, Windows 显示的时间应该也是2012年, 但是...居然是2022年??

VirtualBox 模拟了主板这肯定假不了. 不过 XP 能显示正确的时间似乎又说明, XP 直接跑在我的 i7-11800H 上, 大概这次 VirtualBox 也没模拟主板什么的, 就是直接询问 Win11 当地时间然后转告给 XP.

出于各种考虑, 我猜想: VirtualBox 能识别实模式与保护模式, 并且提供不同的实现方案, 具体如上.

这个问题我浅尝辄止得了, 随便猜猜, 就这样吧. 不能思而不学, 毕竟才学了半年的计算机, 不懂也很正常吧?(首先 CMOS 允许这种诡异的时间存在得足够久就很不对劲, 衍生问题实在太多)


;====================跋===================

编写此课设, 需要对内存地址空间与端口地址空间有清晰的认识. 至少现在, 我并不会觉得C语言中的指针有多难了; 源程序中还有些许冗余之处, 有待改进, 刚好留到以后复习时练练手.

后续还有一个综合研究, 与C语言有关, 相当精彩. 有空再谈.

2.5个月之后更新: 笑死, 三个月没碰汇编语言, 相关知识已经全部忘记了捏~


http://www.ppmy.cn/news/285039.html

相关文章

【学习笔记】Flutter重要知识点

学习资料 4月28日-5月11日 按照这个视频边学习边敲代码 视频学习 争取两个星期把flutter和dart搞定!!!! 5月12日半夜更新学习日志 基本内容学的超不多了,感觉声明式编程真的好爱~~Android原生好久没搞了。接下来练几…

细说SSRF

目录 什么是SSRF形成原因容易出现SSRF的地方SSRF的危害脑图函数file_get_contents()fsockopen()curl_exec() 协议 漏洞检测常用绕过方式限制为http://www.xxx.com 域名时(利用)限制请求IP不为内网地址限制请求只为http协议利用[::]利用句号利用特殊地址利…

面试准备知识

信息收集 假如给你一个网站你怎么去渗透 步骤 首先看是什么类型的网站,大型网站可以去天眼查等查询法人股份等信息,小型网站可以查询使用了哪类建站系统。 whois信息查询 获取注册者邮箱姓名电话等 查询服务器旁站及子域名站点,因为主站一…

细说——SSRF

目录 什么是SSRF形成原因容易出现SSRF的地方SSRF的危害脑图SSRF相关函数和协议函数file_get_contents()fsockopen()curl_exec() 协议 漏洞检测常用绕过方式限制为http://www.xxx.com 域名时(利用)限制请求IP不为内网地址限制请求只为http协议利用[::]利用…

变电站综合自动化系统是将变电站内的二次设备经过功能的组合和优化设计

1.概述 本次建设内容包括:危险废物处理中心、有机废弃物处理中心、配套建设园区污水处理厂和园区管理中心等,该建设内容包括了安庆市静脉产业园项目红线范围内得所有固体废弃物处理子项目,以及园区红线范围内、外为园区配套的市政设施。全厂共…

变电站综合自动化系统如何提高综合性自动化功能?

安科瑞变电站综合自动化系统在安庆市静脉产业园应用 安科瑞 崔远航摘 要 变电站综合自动化系统是将变电站内的二次设备经过功能的组合和优化设计,利用计算机技术、通信技术、信号处理技术,实现对全变电站的主要设备和输、配电线路的自动监视、测量、控…

安科瑞变电站综合自动化系统 在安庆市静脉产业园应用

1.概述 静脉产业,这一概念最早由日本学者提出,专家们形象地将废弃物转换为再生资源的行业称为“静脉产业”——因其变废为宝,循环利用,如同将含有较多二氧化碳的血液送回心脏的静脉。安庆市静脉产业园是为创建安庆市经济健康持续 …

变电站综合自动化系统的选型与应用

摘 要:变电站综合自动化系统是将变电站内的二次设备经过功能的组合和优化设计,利用先进的计算机技术、通信技术、信号处理技术,实现对全变电站的主要设备和输、配电线路的自动监视、测量、控制、保护、并与上级调度通信的综合性自动化功能。为…