❶ iphone4 版本4.3(BF190)固件04.10.01如何破解
卡贴可解锁,越狱也出了
❷ 怎样刷dg255d路由器0penwrt固件
方法/步骤
1
一、 用到的东西
1、网线 一条
2、USB转TTL线 一条
3、SecureCRT终端仿真程序
4、当然路由器HG255D主体与电源适配器也少不了了
2
二、 接驳TTL线
路由器PCB板上的TX、RX、GND分别连接到USBTTL(USB转串口)的TX、RX、GND插针上
拔掉路由器WAN和LAN口所有网线
HG255D TTL插座定义(V+ 为3.3V的电压,千万不能接)
3
三、 电脑预设1(笔者用的是XP系统)
将USB转TTL接到电脑上,装好USBTTL驱动,选择正确的COM口(在设备管理器中查看第几个COM口,笔者这里是COM9)。
4
四、 电脑预设2(笔者用的是XP系统)
把电脑的网卡地址改成静态IP地址(设置为192.168.1.100)
5
五、设置SecureCRT相关参数
设置SecureCRT COM口的速率为每秒位数57600(笔者这里用的是SecureCRT,)。
设置SecureCRT里(Protocol:Serrial Port:COM9 Baud rate:57600 Data bits:8 Parity:None Stop bits:1)
Flow control选项 DTR/DSR,RTS/CTS,XON/XOFF都不打勾(COM口根据设备管理器中选择相应的数字)。
6
六、完成SecureCRT相关参数的设置
点“Connect”完成SecureCRT COM口连接设置,如果连接正确,窗口前会有一个绿色的勾,如下图:
7
七、准备好路由器与路由器的电源适配器
这时可以打开路由器的电源,如SecureCRT有显示就表示接驳正确。关上电源。如没有,请参考步骤二,(或把RX和TX两根线对调)。
把相关的文件(u-boot、eeprom及Openwrt固件),与TFTPD32放在同一文件夹内,运行TFTPD32(什么都不要设置)。
8
八、开始刷机——刷入u-boot 之一(确保TTL线已经正确接好)
(一)在SecureCRT,打开HG255D电源, 当出现
Please choose the operation:
1: Load system code to SDRAM via TFTP.
2: Load system code then write to Flash via TFTP.
3: Boot system code via Flash (default).
4: Enter boot command line interface.
9: Load Boot Loader code then write to Flash via TFTP.
(二)马上按4后出现如下(不能按9,按9更新U-boot 100%变砖头——键盘上的数字键4)
4: System Enter Boot Command Line Interface.
U-Boot 1.1.3 (Nov 28 2012 - 12:00:15
Main_loop !!
RT3052 #
如下图:
P.S.如果不确定什么时候该按4可以接上电源就马上一直按数字键4, SecureCRT可以不需要关。
9
九、开始刷机——刷入u-boot 之二
(三)设置tftp服务的网络地址与上传文件到内存
输入命令
setenv serverip 192.168.1.100
回车
接着输入
tftpboot 0x80100000 tftpd-uboot.bin
回车
SecureCRT窗口返回信息如下:
10
十、开始刷机——刷入u-boot 之三
(四)等SecureCRT里显示2个Arp Timeout Check插上网线时,把网线插入路由器的LAN口(黄色的接口),随便哪个口都可以。
注意:如果没有提示成功下载到问题,千万不要继续下面的操作。等完全tftp上传好,出现NetBootFileXferSize= 00023874)后 (00023874为tftpd-uboot.bin文件大小的16进制数值,别的U-boot文件的值可能不同)
(五)解锁flash 保护
输入
protect off all回车
返回信息如下:
十一、开始刷机——刷入u-boot 之四
(六)备份原版的EEPROM信息(备份原机MAC地址并使无线正常)。
输入cp.b 0xBFFA0000 0x80100000 0x20000
回车
输入md 0x80100000
回车
返回信息如下(这里的 md 命令那个地址写错了,现在无线信号,有点不行。本来要md 0x80100000 ,可是我写成md 0x80800000。这样会导致无线信号下降一半):
十二、开始刷机——刷入u-boot 之五
(七)擦除U-BOOT
输入
erase 0xBF000000 0xBF03FFFF
回车
返回信息如下:
十三、开始刷机——刷入u-boot 之六
(八)写入U-BOOT
输入
cp.b 0x80100000 0xBF000000 0x40000
回车
返回信息如下:
十四、刷u-boot完成
(九)刷完系统会自行重启,如果没有重启请按Ctrl+C来重启机器。
(十)到这里u-boot刷完成,关闭tftpd32.exe
这里笔者刷的是tftpd版的uboot,这种方法还可以刷电信原版的uboot和httpd版的uboot。
P.S.如果要刷eeprom要先刷tftfd版的uboot,再刷eeprom。刷httpd版后是不能刷eeprom的,因为eeprom是需要tftp刷的。
十五、刷eeprom
原版的EEPROM有checksum限制,很多第三方固件不能刷,超级终端/SecureCRT窗口内有提示Flash限制,可以选则先刷入hg255d-EEPROM.bin(这个是第三方破解版的EEPROM)来破解,然后再刷DD-WRT/OpenWRT/Tomato等第三方固件。
(一)修改第三方的eeprom.bin中的MAC地址
用WinHex打开eeprom.bin,定位到0x00000020-8,如下图:
十六、刷入eeprom.bin
相对于u-boot,刷eeprom要简单得多。先把HG255D断电,运行tftp软件,选择eeprom.bin,按住reset键不松接通电源,5秒种后会进入刷机模式,点击tftp上的“更新固件”,等那个灰色的圆圈变成绿色就可以了。
如下图:
十七、 更新路由器固件(Openwrt PandoraBox)
刷路由器固件(openwrt/dd-wrt)与刷eeprom.bin是一样的,简单。先把HG255D断电,运行tftp软件,选择要刷的固件,按住reset键不松接通电源,5秒种后会进入刷机模式,点击tftp上的“更新固件”,等那个灰色的圆圈变成绿色就可以了,这里不要太着急,可能要3-5分钟,可以去ping 192.168.1.1 -t ,直到有ping出值来,那样就OK了。
P.S - 1: DD-WRT固件的刷入方法类似。
P.S - 2: 以上,本教程为笔者实践整理。
十八、WEB方式刷固件
如果不要tftp刷,可以通过WEB来刷(本段拷贝于恩山无线论坛,笔者未实践)。
(一) 关闭路由器电源。
(二) 把网线插入路由器任意LAN口。
(三) 修改PC网卡地址改成静态的IP地址,必须是192.168.1.X 的D类地址,而且X不能等于1/255。
(四) 打开浏览器预先输入http://192.168.1.1/update.html,不要输入回车
(五) 通过牙签/圆珠笔等工具按住RESET孔,同时按开关按钮。
(六) 再在浏览器地址为http://192.168.1.1/update.html的标签页内输入回车。
(七) 等一会,浏览器会出现
(八) 选择引导固件1102-0x20000_hg255d-squashfs-tftp.checksum2.bin
(九) 等这个页面出现时
就开始通过WEB刷机了(这时如果是原版的EEPROM会带有checksum,非checksum的不能刷,如需破解请看上文)。
(一) 刷入完成,自动重启后进入OpenWRT的Dreambox了,然后通过OpenWRT的刷机页面刷入新的固件。(这时如果是原版的EEPROM会带有checksum,很多第三方固件不能刷)。
(二) 如需转回原版电信固件,请参照前面的十七个步骤并在第十七个步骤内选择电信的原版固件;然后等待刷机完成,就还原到电信固件了(此步骤有一定机率变砖,不建议使用)。
❸ 如何提取BIOS固件中的代码
2 逆向系统管理中断(SMI)句柄
或许有人认为应该动用“硬件分析器”来参与我们的宏伟计划,其实这是一种误解。SMI处理程序是BIOS固件的一部分,和普通的BIOS代码一样,也可以类似的从中将其反汇编出来。Pinczakko的《BIOS Disassembly Ninjutsu Uncovered 》和《Guide to Award BIOS Reverse Engineering》二书,讲述了Award and AMI BIOS逆向方面的详细情况,有兴趣的读者可以到此参考。在这里,从BIOS中转储SMI处理函数,我们有两种方法可供选择。
1. 找一个漏洞,从保护模式进入SMRAM,并将SMRAM中的所有内容,尤其是TSEG,High SMRAM和0xA0000-0xBFFFF等区域转储出来。如果BIOS没有锁定D_LCK位,可以通过Duflot和BSDaemon介绍的修改SMRAMC PCI配置寄存器的方式转储。万一BIOS锁定了SMRAM,BIOS固件看上去余简也无懈可击,那就只有修改BIOS,令其不会设置D_LCK位这一条路了。将修改的程序重刷回BIOS的ROM,这样在启动时,SMRAM就不会被锁定了。不过这样做首先要确定BIOS不需要数字签名(digitally signed),而且目前几乎没有主板会使用带数字签名的非EFIBIOS固件。
我想在这里有必要提一下BIOS设置D_LCK位的方法。通常情况下,BIOS都倾向于使用0xCF8/0xCFC端口,通过合法的I/O访问,设置相关的PCI配置寄存器。BIOS首先将0x8000009C写入到0xCF8的地址端口,然后再将0x1A的数值写入到0xCFC的数据端口,设洞毁纯置SMRAMC寄存器就可以锁定SMRAM了。
2. 还有另外一种方法,相对前者来说要简单一些,不需要访问运行时的SMRAM数据。
2.1 从BIOS开发商的网站下载最新的,或者使用闪存编程器件(Flash Programmer)从BIOS的ROM中提取固件的二进制代码。我们针对的ASUS P5Q主板就是要下载P5Q-ASUS-PRO-1613.ROM文件。
2.2 大多数的BIOS固件都包含了主BIOS模块,压缩的SMI处理句柄就位于其中,利用开发商提供的提取/解压工具打开BIOS主模块。由于ASUS BIOS是基于AMI BIOS的,我们使用AMIBIOS BIOS Mole Manipulation Utility 和MMTool.exe从中抽取主模块。在MMTool中打开下载的.ROM文件,单击“Single Link Arch BIOS”抽取模块(ID=1Bh),然后检查“In uncompressed form”的选项,最后保存,就得到了包含SMI处理句柄的主BIOS模块。
2.3 主BIOS模块抽取完成,就可以用HIEW或IDA Pro等工具开始我们的SMI反汇编之旅了。
反汇编SMI句柄
我们注意到在ASUS/AMI BIOS中使用的是一个结构体数组来描述SMI的处理函数。数组中的每一个入口项都有“$SMIxx”的签名,其中“xx”字符指明了具体的SMI处理函数。图1显示的是基于P45芯片组ASUS P5Q SE主板的AMIBIOS 8所使用的SMI分配表(SMI dispatch table)数据。
反汇编SMI分配函数
BIOS中有一个特殊的SMI分配函数,我们将其命名为“dispatch_smi”,将遍历分配表中的所有入口,并调用handle_smi_ptr指向的处理函数。如果没有任何处理函数能够响应当前的SMI中断信号,它将调用最后的$DEF例程。下面的代码就是我们从ASUS P5Q主板反汇编得到纳咐的Handle_SMI BIOS函数。
钩挂SMI处理函数
基于上述的讨论,钩挂SMI处理函数的方法也有很多,可以添加一个新的SMI处理句柄,也可以给已有的句柄打个补丁,加上新的功能。两种方法在本质上并没有多大区别,所以两种情况我们都将做必要的介绍。
1.在SMI分配表中添加我们自己的SMI处理函数。
要加入新的函数,必须先在分配表中建立一个新的入口表项,我们将其取名为“$SMIaa”,如图3所示。
该入口包含了指向默认SMI处理句柄的指针,待会儿我们将修改这个默认的处理函数。或者我们也可以在SMRAM中找一块空闲区域,放上一段shellcode,将指向默认句柄的指针替换为指向shellcode。最后还要注意,当有新的处理函数加入到分配表中之后,保存在SMRAM数据段中的SMI代码计数值也要相应的加1,保持SMI处理函数数目的一致性。
上述这个“调试”处理函数只做了一件事情,就是将SMI分配表从0x0B428:[si]拷贝到0x07000:[di]的位置,看来我们可以放心大胆的用自己的SMI代码钩挂它了。随后,我们将实现一个键盘记录程序,将其注入到这个处理函数内部。不过在我们开始新的章节之前,还是有必要先来回顾一下可以用于在用户击键时,调用记录程序的相关技术。
1. 使用I/O APIC将键盘的硬件中断(IRQ #01)导向SMI。Shawn Embleton和Sherri Sparks采用的就是I/O高级可编程中断控制器,将键盘的IRQ #01号中断导向SMI,并在SMI处理程序中捕获击键事件。
2. 采用键盘控制器数据端口访问时的I/O陷阱机制。
我们在本文中使用了不同于前者的I/O陷阱技术,该项技术最初是BIOS模拟PS/2键盘的用途,在下一章节中我们将详细的解释其工作原理。
3 SMM键盘记录程序
3.1 硬件I/O陷阱机制
实现一个内核级的键盘记录程序,方法之一是钩挂中断描述符表(IDT)中的调试陷阱#DB处理函数,并设置调试寄存器DR0-DR3,用数据端口0x60捕获系统的击键事件。类似的,我们也可以采用通过键盘I/O端口60/64陷入SMI的方法。我们参考了AMI BIOS的设计白皮书《USB Support for AMIBIOS8》,里面有这样的一段叙述。
“2.5.4 60/64端口模拟(emulation)
该选项可以开启或者关闭60h/64h端口的陷阱功能。60h/64h端口陷阱允许BIOS为USB键盘和鼠标提供基于PS/2的完全支持,在Microsoft Windows NT操作系统和支持多语言键盘上尤为有用。该选项还为USB键盘提供了诸如键盘锁定,密码设置和扫描码选择等各项PS/2键盘的功能。”
该机制由硬件系统来完成,所以我们还要查看一下具体的硬件配置情况。好在Intel和AMD的CPU中都有I/O陷阱的相关机制。AMD开发手册《BIOS and Kernel's Developer's Guide for AMD Athlon 64 and AMD Opteron Processors》中的“SMM I/O Trap and I/O Restart”一节,和Intel手册《Intel IA-32 Architecture Software Developer's Manual》中的“I/O State Implementation and I/O INSTRUCTION RESTART”一节对该机制都有详细的介绍。
I/O陷阱机制允许陷入SMI后,在SMI处理程序内部使用IN和OUT指令来访问系统的任意I/O端口。之所以设计该机制的目的是为了在断电时,通过I/O端口来开启(power on)某些设备。除此之外,I/O陷阱当然也可以用于在SMI句柄中模拟60h/64h的键盘端口。在某种程度上说,它和上述的调试陷阱机制有些类似,用陷阱捕获对I/O端口的访问,但是并非调用OS内核的调试陷阱处理句柄,而是产生一个SMI中断,让CPU进入SMM模式,执行I/O陷阱的SMI处理函数。
当处理器陷入I/O指令,进入SMM模式时,它会将I/O指令陷入时的所有信息保存在SMM存储状态映射区(Saved State Map)的I/O状态域(I/O State Field)中,位于SMBASE+0x8000+0x7FA4的位置。图4是该区域的数据分布情况,待会儿我们的记录程序将会用到。
-设置了IO_SMI (bit 0),表示当前是一个I/O陷阱SMI。
- I/O 长度标志(bits [1:3])表示 I/O访问是byte(001b)、word(010b)或dword(100b)三者之一。
- I/O Type标志(bits [4:7])表示I/O指令的类型,IN imm(1001b),IN DX(0001b)等。
- I/O 端口(bits [16:31]),包含了当前访问的I/O端口号。
如果当前是通过IN DX指令,字节宽度来访问0x60端口, IO_SMI置位,SMM keylogger首先需要检测和更新SMM存储状态映射区中的EAX域,然后还要检测0x7FA4处的I/O状态域的值是否为0x00600013。
mov esi, SMBASE
mov ecx, dword ptr fs:[esi + 0xFFA4]
cmp ecx, 0x00600013
jnz _not_io_smi
上述是检测的简化形式,SMM keylogger还需要检测I/O状态域中I/OType和I/O Length等其他标志。因为我们是记录键盘的目的,所以只关心I/O陷阱,并不用理会I/O重启(I/O Restart)的相关设置。I/O重启和I/O陷阱构成了完整的SMI I/O处理方式,当SMM中的SMI执行完毕时,I/O重启允许IN或OUT指令从SMI中断处恢复并继续执行。
I/O陷阱机制允许我们在任意I/O端口的软硬件交互读写操作时陷入SMI的处理例程,现在关心的只是0x60数据端口,实现键盘击键时的I/O陷入的具体步骤如下:
1. 击键事件发生时,键盘控制器产生一个硬件中断,用I/O APIC将IRQ 1中断信号导向SMI的处理句柄。
2. 收到键盘中断之后,APIC调用IDT中的键盘中断处理程序,对PS/2键盘是0x93号中断向量。
3. 键盘中断处理程序通过端口0x60从键盘控制器的缓冲区中读取按键扫描码。正常情况下将清空扫描码,并将其显示在屏幕上。
4. 此时芯片组引起端口0x60的读取陷阱,产生信号通知I/O陷阱SMI。
5. 在SMM模式下,keylogger的SMI处理句柄响应SMI中断,处理I/O陷阱SMI。
6. 退出SMM时,keylogger的SMI处理句柄将结果(当前扫描码)返回给0x60端口的读取指令,交由内核的中断句柄作进一步处理。
上述的第6步操作,将扫描码返回到OS的键盘中断处理程序,在I/O陷阱和I/O APIC下的实现是有区别的。如果使用了APIC来触发SMI,SMI keylogger必须再次向键盘控制器的缓冲区中填充扫描码,以待操作系统再次读取,做进一步处理。
I/O陷阱下则是采用另外的方法。OS键盘中断处理程序使用的“IN al, 0x60”指令会引起SMM keylogger的I/O陷入,由于该IN指令产生了无穷的SMI陷入循环,将永远无法从SMM中恢复到原来的状态继续执行。此时,SMI句柄只要将IN指令的读取结果保存到AL/AX/EAX寄存器,表现得就像IN指令从来没有陷入过一样。
IA32体系,EAX寄存器位于SMRAM存储状态区偏移为0x7FD0的位置,即 SMBASE +0x8000+0x7FD0,在IA64下为SMBASE + 0x8000+0x7F5C。因此当上述的IO_SMI置位时,SMM keylogger需要将从0x60端口读取的扫描码更新至EAX域,下面就是更新EAX域的代码片段:
; 1.验证读取0x60端口时设置的IO_SMI位
; 2.更新SMM存储状态区的EAX域(SMBASE + 0x8000 + 0x7FD0)
mov esi, SMBASE
mov ecx, dword ptr fs:[esi + 0xFFA4]
cmp ecx, 0x00600013
jnz _not_io_smi
mov byte ptr fs:[esi + 0xFFD0], al
3.5 多处理器下的keylogger说明
我们的keylogger已经更新了系统SMRAM存储状态映射区中的EAX(RAX)寄存器,要是碰到了多处理器系统那又该怎么办呢?当多个逻辑处理器同时进入SMM模式时,它们在SMRAM中都要有自己的SMM存储状态映射区,这将由BIOS为每个处理器分配不同的SMRAM 基地址(SMBASE)来妥善解决,因此该项技术也被称为“SMBASE重定向”。
例如在双处理器系统中,两个逻辑处理器分别具有不同的SMBASE,SMBASE0和SMBASE0+0x300;第一个处理器的SMI处理句柄将从EIP = SMBASE0+0x8000处开始执行,而第二个则从EIP = SMBASE0+0x8000+0x300的地方开始;同理,它们各自的存储状态映射区也就分别位于(SMBASE0+0x8000+0x7F00)和(SMBASE0+0x8000+0x7F00+0x300)。
不只是0x300,BIOS也会为额外的处理器设置其他的SMBASE增量偏移。增量偏移虽然可变,但是其计算过程也不算复杂。在SMM存储状态映射区内部0x7EFC偏移处包含了一个SMM修正ID(Revision ID),对每个处理器来说都是同样的数值。例如SMM的修正ID可能为0x30100,在SMRAM中找到各处理器的修正ID,计算它们之间的差值也就得到了各SMBASE间的相对位移。
下面我们展示的是SMM keylogger在双处理器系统上的EAX更新代码。它将顺次检查I/O状态域是否和某个处理器的I/O陷阱匹配,确定的话则更新其SMM存储状态映射区中的EAX值。
; 在双处理器系统上更新EAX
mov esi, SMBASE
lea ecx, dword ptr [esi + SMM_MAP_IO_STATE_INFO]
cmp ecx, IOSMI_IN_60_BYTE
jne _skip_proc0:
mov byte ptr [esi + SMM_MAP_EAX], al
_skip_proc0:
lea ecx, dword ptr [esi + SMM_MAP_IO_STATE_INFO + 0x300]
cmp ecx, IOSMI_IN_60_BYTE
jne _skip_proc1:
mov byte ptr [esi + SMM_MAP_EAX + 0x300], al
_skip_proc1:
…
4 建议的检测方法
4.1 I/O陷阱机制检测
4.2 计时(timing)检测
❹ “BF”的解释
BF的含义很多,列举如下:
1、BF,黑羽(游戏王卡组系列之一),游戏王卡组系列之一。黑羽怪兽命名方式并非完全一致。动画的黑羽怪兽的名称大多数是由天气状况加上与风相关的名词;漫画的黑羽怪兽除黑羽驯鸟师-漆黑之鹰匠·乔以外,全部为夜晚的景象加上经典冷武器名称。
2、BF最常见的说法是boy friend的简称,就是男朋友的意思。这是相对于GF(girl friend)而言的.在男同性群体比较常见,意思是另一半的意思,既可以是兄弟又可以使情侣的对象。
3、BF(泡泡战士)《泡泡战士》(BubbleFighter) 是由NEXON旗下休闲工作室Lomani研发的泡泡系列三部曲之一,是第一款Q版第三人称射击游戏。
韩服由韩国NEXON公司运营 已于2009年1月22日公测。2010年1月8日盛大与韩国休闲游戏名厂Nexon签订泡泡战士中国大陆地区代理运营协议,国服预计将于11月初首次测试,年底大规模测试
4、BF,BlowFish算法中,有一个核心加密函数:BF_En(后文详细介绍)。该函数输入64位信息,运算后, 以64位密文的形式输出。 用BlowFish算法加密信息,需要两个过程:密钥预处理,信息加密。
5、BF,Brainfuck是一种极小化的计算机语言,它是由Urban Müller在1993年创建的。Müller的目标是建立一种简单的、可以用最小的编译器来实现的、符合图灵完全思想的编程语言。这种语言由八种状态构成,为Amiga机器编写的编译器(第二版)只有240个字节大小!
就象它的名字所暗示的,brainfuck程序很难读懂。尽管如此,brainfuck图灵机一样可以完成任何计算任务。虽然brainfuck的计算方式如此与众不同,但它确实能够正确运行。
这种语言,是一种按照“Turing complete(图灵完备)”思想设计的语言,它的主要设计思路是:用最小的概念实现一种“简单”的语言,BrainF**k 语言只有八种符号,所有的操作都由这八种符号的组合来完成。
❺ bf固件安装后打不开
bf固败嫌件安装后打培纤不开处理办法如下。
1、检查网络是否正常。
2、检查固件是否完整。
3、确认路由器的电源是否正常。
4、重察中手新安装固件。
5、重启路由器。
6、更换一个新的固件。
❻ vs跟bf哪个好
效率、
1、vs是指MicrosoftVisualStudio,它是美国微软公司的开发工具包系列产品,是一个完整的开发工具集。vs功能强大,跨平台开发,编闭告裂译效率高。友手而bf效率实在太低了。
2、vs调试轿闭方便,还包含代码测试功能,而bf的调试不方便。
❼ 西门子plcbf指示灯闪烁是什么故障
通信故障灯: 检查下通信的站号是否设置正确,是否连接上
西门子plc通讯故障(BF,SF灯亮)的原因与解决方法
西门子plc上面的sf灯红亮时表示系统故障,是英文(systemfault)的缩写,内部寻址错误,超出编程地址区,模块损坏,插件松动等原因引起。把plc里的程序先清除掉,sf灯还亮估计就是硬件坏了,如果不亮了,就可能程序有问题,再在线看看plc信息s7-300plc上sf灯亮而bf灯闪烁,肯定是分布式现场总线profibus-dp通信或dp从站如abb变频器的问题,不要怀疑其他软硬件问题;宏裂
plc带模拟量模块如果有问题,仅仅plc上sf灯亮(比如具有硬件诊断模拟量模块可以设定模拟量信号断线、超出量程等),而不会引起sf和bf灯同时亮;根据以上分析,重点检查s7-300plc的硬件组态与实际硬件是否一致(硬件订货号和固件版本号),山绝肢逗世dp从站地址设置与组态的地址是否一致;
如果组态没有问题,完成硬件组态后,必须执行“保存并编译”,如果没有错误,将产生新的系统数据块,然后下载到plc中;检查profibus电缆及其通信连接头是否正确,profibus电缆中有两根线,一根为红色连接profibus网络接头的b连接,另一根为绿色与网络接头的a连接(进线分别为b1、a1,出线为b2、a2),不能接反;
如果仅有一路电气网段,即从s7-300plc的x2端口(profibus-dp端口)出发只有一根profibus电缆,那么首尾(分别为s7-300plc和最后dp从站)上网络接头的红色末端电阻必须置“on”位置,中间dp从站上网络接头必须置“off”位置;
如果abb变频器没有通电,而你的硬件组态中包含作为dp从站的该变频器,那么s7-300plc通电后,没有检测到abb变频器,所以plc上sf灯亮,而bf灯闪烁,这是正常现象;一般plc与触摸屏之间采用mpi通信协议,可以与plc之间连接在一起同时运行,可以采用无组态的mpi通信、全局数据mpi通信和组态的mpi通信。