外部储存器不是不能被地址总线树莓派读取单总线么,那这句话什么意思:地址只能从cpu传向外部存储器或I/O端口

微机技术第04章 微处理器外部特性-学路网-学习路上 有我相伴
微机技术第04章 微处理器外部特性
来源:DOCIN &责任编辑:王小亮 &
微机原理与接口技术周荷琴第五版课后答案问:有人有这个答案吗?答:下载文件:微机原理课后作业答案(第五版).doc微机技术及应用问:第1题题目类型:单选题题目:己知[X]原=B,[Y]原=...答:1.42.43.24.25.46.0x2E7.物理8.6F9.2或者310.1或者3第八题的题目(2F246H)=154H,应该是(2F246H)=54H,第9题的题目中如果ADDAX,[bp]理论上也是在堆栈单元的值和寄存器相加,不知道出题的人是不是想的sp,如果是sp的话4就是不对的,但...计算机技术的发展问:从软件角度看,计算机技术有几个发展时期?每个时期的特点是什么?答:第一代电子管计算机(46年2月15日,标志现代计算机诞生的ENIAC(ElectronicNumericalIntegratorandComputer)在费城公诸于世。ENIAC代表了计算机发展史上的里程碑,它通过不同部分之间的重新接线编程,还拥有并行计算能力。ENIAC...微机技术第04章微处理器外部特性(图2)微机技术第04章微处理器外部特性(图4)微机技术第04章微处理器外部特性(图6)微机技术第04章微处理器外部特性(图8)微机技术第04章微处理器外部特性(图10)微机技术第04章微处理器外部特性(图14)微机原理与接口技术!!问:这门课和单片机联系大么?该怎么把握这门课?答:我是在校大学生,在搞电子设计竞赛,看到您的问题,想谈一下我对这两个东东关系的感受。第一:微机原理是搞电子工程,计算机等学科的基础的基础,所以说,把他学好,才能更利于你的以后的学习,既然如此,与单片机就当然是有联系的啦,毕竟单片...防抓取,学路网提供内容。==========以下对应文字版==========一个计算机方面的文章问:1.计算机目前的发展和最新技术2.我对计算机科学的理解3.我感兴趣的计...答:计算机发展及现状计算机网络是计算机技术和通信技术紧密结合的产物,它涉及到通信与计算机两个领域。它防抓取,学路网提供内容。最小组态下的总线时序4.1 8088的引脚信号和总线形成 外部特性表现在其引脚信号上,学习时请特别关注以下几个方面: 三态能力指引脚信号的定义、 作用;通常采用英文 单词或其缩写表示 信号从芯片向外输出, 还是从外部输入芯片, 或者是双向的 起作用的逻辑电平 高、低电平有效 上升、下降边沿有效 输出正常的低电平、 高电平外,还可以输 出高阻的第三态 4.1.1 8088的两种组态模式 构成较大规模的应用系统,例如可以接入数值协处理器和总线控制器8288共同形成系统总线信号 4.1.1 8088的两种组态模式(续) IBMPC/XT采用最大组态 本书以最小组态展开基本原理通常在信号名称加 上划线(如:MX)或星号(如:MX*) 表示低电平有效 8088的引脚图
14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 GND NMIINTR CLK GND VCC AD 15 AD 16 AD17 AD18 AD19 SS0*(HIGH) MN MX*RD* HOLD (RQ)*/ GT0*) HLDA (RQ1* /GT1*) WR* (LOCK*) ALEINTA TEST* READY RESET .2 最小组态的引脚信号 数据和地址引脚AD 在访问存储器或外设的总线操作周期中,这些引脚在第一个时钟周期输出存储器或 I/O端口的低8位地址A 这些引脚在访问存储器或外设时,提供全部20位地址中的中间8位地址A 15 这些引脚在访问存储器的第一个时钟周期输出高4位地址A 19 在访问外设的第一个时钟周期全部输出低电平无效 读写控制引脚ALE(Address Latch Enable) ALE引脚高有效时,表示复用引脚:AD 正在传送地址信息 由于地址信息在这些复用引脚上出现的时间很短暂,所以系统可以利用ALE引脚将 地址锁存起来 读写控制引脚(续1)IO/M*(Input 该引脚输出高电平时,表示CPU将访问I/O端口,这时地址总线A 15 提供16位I/O口地址 该引脚输出低电平时,表示CPU将访问存储器,这时地址总线A 19 提供20位存储器地址 读写控制引脚(续2)WR*(Write) 有效时,表示CPU正在写出数据给存储器或I/O端口 RD*(Read) 有效时,表示CPU正在从存储器或I/O端口读入数据 组合后,控制4种基本的总线周期总线周期 IO/M* WR* RD* 存储器读 读写控制引脚(续4)READY 在总线操作周期中,8088CPU会在第3个时钟 周期的前沿测试该引脚 CPU在等待周期中仍然要监测READY信号,有效则进入第4个时钟周期,否则继续插入等待周 期Tw。计算机主要技术指标答:计算机系统的主要技术指标与系统配置/1.计算机的主要性能指标1)字长:字长是CPU能够直接处理的二进制数据位数,它直接关系到计算机的计算精度、功能和速度。字长越长处理能力就越强。常见的微机字长有8位、16位和32位。2)运算速度:运算速...防抓取,学路网提供内容。读写控制引脚(续5)DEN*(Data Enable) 有效时,表示当前数据总线上正在传送数据,可利用他来控制对数据总线的驱动 DT/R*(Data Transmit/Receive) 读写控制引脚(续6)SS0*(System Status 它与IO/M*和DT/R*一道,通过编码指示CPU在最小组态下的8种工作状态: 中断请求和响应引脚INTR(Interrupt Request) 有效时,表示请求设备向CPU申请可屏蔽中断 该请求的优先级别较低,并可通过关中断指令CLI清除标志寄存器中的IF标志、从 而对中断请求进行屏蔽 中断请求和响应引脚(续1)INTA*(Interrupt Acknowledge) 有效时,表示来自INTR引脚的中断请求已被CPU响应,CPU进入中断响应周期 中断响应周期是连续的两个,每个都发出有效响应信号,以便通知外设他们的中断 请求已被响应、并令有关设备将中断向量 号送到数据总线 中断请求和响应引脚(续2)NMI(Non-Maskable Interrupt) 该请求的优先级别高于INTR,并且不能在CPU内被屏蔽 当系统发生紧急情况时,可通过他向CPU申请不可屏蔽中断服务 主机与外设进行数据交换通常采用可屏蔽中断 不可屏蔽中断通常用于处理掉电等系统故障 总线请求和响应引脚HOLD 该信号从有效回到无效时,表示总线请求设备对总线的使用已经结束,通知CPU收回对总线的控制权 DMA控制器等主控设备通过HOLD申请 占用系统总线(通常由CPU控制) 总线请求和响应引脚(续1)HLDA(HOLD Acknowledge) 总线保持响应(即总线响应),输出、高电平有效 有效时,表示CPU已响应总线请求并已将总线释放 此时CPU的地址总线、数据总线及具有三态输出能力的控制总线将全面呈现高阻,使总线请 求设备可以顺利接管总线 待到总线请求信号HOLD无效,总线响应信号HLDA也转为无效,CPU重新获得总线控制权 其它引脚RESET 该信号有效,将使CPU回到其初始状态;当他再度返回无效时,CPU将重 新开始工作 8088复位后CS=FFFFH、IP=0000H,所以程序入口在物理地址FFFF0H 其它引脚(续1)CLK(Clock) 系统通过该引脚给CPU提供内部定时信号。​微机原理与接口技术第五版周荷琴冯焕清问:微机原理与接口技术第五版周荷琴冯焕清习题答案求若能30分钟内发我...答:http://www.docin.com/p-.html在这里午夜神器APP私密即时语音互动聊天,匿名两性情趣秘密分享防抓取,学路网提供内容。8088的标准工作时钟为5MHz IBMPC/XT机的8088采用了4.77MHz的时钟,其周期约为210ns 其它引脚(续2)Vcc 电源输入,向CPU提供+5V电源GND 接地,向CPU提供参考地电平MN/MX*(Minimum/Maximum) 接高电平时,8088引脚工作在最小组态;反之,8088工作在最大组态 其它引脚(续3)TEST* 当CPU执行WAIT指令时,他将在每个时钟周期对该引脚进行测试:如果无效,则程序踏步 并继续测试;如果有效,则程序恢复运行 也就是说,WAIT指令使CPU产生等待,直到引脚有效为止 在使用协处理器8087时,通过引脚和WAIT指令,可使的操作保持同步 “引脚”小结 CPU引脚是系统总线的基本信号 可以分成三类信号: RESET、CLK、Vcc、GND有问题! 有问题! “引脚”提问 提问之一:CPU引脚是如何与外部连接的呢? 提问之二:CPU引脚是如何相互配合, 实现总线操作、控制系统工作的呢? 解答:总线时序(第4.2节)4.1.3 最小组态的总线形成 AD +5V8088 ALE 8282 STB 系统总线信号 IO/M*RD* WR* 8282 STB 8282 STB 8286 OE*MN/MX* IO/M* RD* WR* DT/R* DEN* OE* OE* OE* (1)20位地址总线―― 采用3个三态透明锁存器8282进行锁存和驱动 (2)8位数据总线―― 采用数据收发器8286进行驱动 (3)系统控制信号―― 由8088引脚直接提供 补充:三态门和D触发器 三态门和以D触发器形成的锁存器是微机接口电路中最常使用的两类逻辑电路 D触发器:信号保持,也可用作导通开关三态 三态 三态缓冲器(三态门)具有单向导通和三态的特性 T为低平时: 输出为高阻抗(三态) T为高电平时: 输出为输入的反相 74LS244双4位单向缓冲器 每组的控制端连接在一起 输出与输入同相每一位都是一个三态门, 每4个三态门的控制端连接在一起 双向三态缓冲器 具有双向导通和三态的特性 OE*OE*=0,导通 OE* OE*=1,不导通Intel 8286 8位双向缓冲器 控制端连接在一起,低电平有效 输出与输入同相OE*=0,导通 OE* OE*=1,不导通每一位都是一个双向三态门, 8位具有共同的控制端 74LS245 8位双向缓冲器 控制端连接在一起,低电平有效 74LS245与Intel8286功能一样 D触发器 上升沿锁存电平锁存: 高电平通过,低电平锁存 上升沿锁存: 通常用负脉冲触发锁存 负脉冲的上升沿 带有异步置位清零的电平控制的锁存器 74LS273 具有异步清零的 TTL上升沿锁存器 每一位都是一个D触发器, 8个D触发器的控制端连接在一起 锁存环节缓冲环节 Intel 8282 具有三态输出的 TTL电平锁存器 STB 电平锁存引脚 OE* 输出允许引脚 每一位都是一个三态锁存器, 8个三态锁存器的控制端连在一起 74LS373 具有三态输出的 TTL电平锁存器 LE 电平锁存引脚 OE* 输出允许引脚 74LS373与Intel 8282功能一样 4.1.3 最小组态的总线形成 AD +5V8088 ALE 8282 STB 系统总线信号 IO/M*RD* WR* 8282 STB 8282 STB 8286 OE*MN/MX* IO/M* RD* WR* DT/R* DEN* OE* OE* OE* Intel8282是三态透明锁存器,类似有 Intel 8283和通用数字集成电路芯片373 Intel8286是8位三态双向缓冲器,类似 功能的器件还有Intel 8287、通用数字集 成电路245等 另外,接口电路中也经常使用三态单向缓冲器,例如通用数字集成电路244就是一 个常用的双4位三态单向缓冲器 其它信号的情况看详图4.1.4 最大组态的引脚定义 8088的数据/地址等引脚在最大组态与最小组态时相同 有些控制信号不相同,主要是用于输出操作编码信号,由总线控制器8288译码产生系统控制信号: RQ*/GT0*、RQ*/GT1*――2个总线请求/同意信号4.1.5 最大组态的总线形成 系统总线信号 MEMR* MEMW* IOR* IOW* INTA* DMA 应答电路 AENBRD AEN’* AEN* CEN LS373 74LS373 DIR74LS244 8088 OE* 8288 DT/R* DEN ALE S2*~S0* S2*~S0* MN/MX* OE* MRDC*AMTW* IORC* AIOWC* INTA* 系统地址总线 采用三态透明锁存器74LS373和三态单向缓冲 器74LS244 系统数据总线 通过三态双向缓冲器74LS245形成和驱动 系统控制总线 主要由总线控制器8288形成 MEMR*、MEMW*、IOR*、IOW*、INTA* 4.2 8088的总线时序 时序(Timing)是指信号高低电平(有效或无效)变化及相互间的时间顺序关系。微型计算机原理与接口技术周荷琴著第五版课后答案答:你的题目可能和我们的不一样.防抓取,学路网提供内容。CPU时序决定系统各部件间的同步和定时什么是总线操作? 什么是总线操作? 4.2 8088的总线时序(续1) CPU正在进行内部操作、并不进行实际对外操作的空闲状态Ti 指令周期总线周期时钟周期 什么是指令、总线和时钟周期? 什么是指令、总线和时钟周期? 4.2 8088的总线时序(续2) 指令周期是指一条指令经取指、译码、读写操作数到执行完成的过程。推荐一本微机接口与原理技术的辅导书来答:微机原理与接口技术(钱晓捷版)课后习题答案《微机原理与接口技术》(第四版)周何琴课后习题答案(因百度限制不便在此提供网址,请楼主自行百度搜索。)防抓取,学路网提供内容。若干总线周期组成一个指令周期 总线周期是指CPU通过总线操作与外部(存储器或I/O端口)进行一次数据交换的过程 当需要延长总线周期时需要插入等待状态Tw何时有总线周期? 何时有总线周期? 演示 演示 4.2 8088的总线时序(续3) 任何指令的取指阶段都需要存储器读总线周期,读取的内容是指令代码 任何一条以存储单元为源操作数的指令都将引起存储器读总线周期,任何一条以存储单元为目的操作 数的指令都将引起存储器写总线周期 只有执行IN指令才出现I/O读总线周期,执行OUT指令才出现I/O写总线周期 CPU响应可屏蔽中断时生成中断响应总线周期如何实现同步? 如何实现同步? 4.2 8088的总线时序(续4) 当相互不能配合时,快速部件(CPU)插入等待状态等待慢速部件(I/O和存储器) CPU与外设接口常采用异步时序,它们通过应答联络信号实现同步操作 4.2.1 最小组态的总线时序 本节展开微处理器最基本的4种总线周期 存储器读总线周期 存储器写总线周期 I/O读总线周期 I/O写总线周期 存储器写总线周期 ALECLK READY(高电平) IO/M* WR* IO/M*ALE 状态――输出20位存储器地址A19 IO/M*输出低电平,表示存储器操作;ALE输出正脉冲,表示复用总线输出地址 状态――完成数据传送I/O写总线周期 ALECLK 输出数据0000 READY(高电平) IO/M* WR* IO/M*ALE 状态――输出16位I/O地址A15 IO/M*输出高电平,表示I/O操作;ALE输出正脉冲,表示复用总线输出地址 状态――完成数据传送存储器读总线周期 ALECLK READY(高电平) IO/M* RD* IO/M*ALE 状态――输出20位存储器地址A19 IO/M*输出低电平,表示存储器操作;ALE输出正脉冲,表示复用总线输出地址 状态――前沿读取数据,完成数据传送演示 演示 I/O读总线周期 ALECLK READY(高电平) IO/M* RD* 0000 IO/M*ALE 状态――输出16位I/O地址A15 IO/M*输出高电平,表示I/O操作;ALE输出正脉冲,表示复用总线输出地址 状态――前沿读取数据,完成数据传送插入等待状态Tw 同步时序通过插入等待状态,来使速度差别较大的两部分保持同步 如果READY无效,在T3和T4之间插入一个等效于T3的Tw 如果READY有效,执行完该T状态,进入T4状态 演示 演示 4.2.2 最大组态的写总线时序 111 110 由8288产生 ALE S2*~S0* CLK DEN写命令 AD 输出数据DT/R* AMWTC* MWTC* 4.2.2 最大组态的读总线时序 111 101 ALES2*~S0* CLK DEN由8288 产生 输入数 DT/R*MRDC* 掌握最小组态下的引脚定义、总线形成和总线时序; 了解最大组态下的引脚定义、总线形成和总线时序。求份微机原理与接口技术的试题(含答案)技术第8章并行接口及定时/计数技术第9章串行通信接口笫10章人机交互设备接口第11章模拟接口技术参考文献编辑本段前言微型计算机从诞生至今已有30余年,其...防抓取,学路网提供内容。4.14.2 4.4 4.6 4.7 4.8 4.13 什么是分时复用? 分时复用就是一个引脚在不同的时刻具有两个甚至多个作用 CPU的数据地址线采用了总 线复用方法 基本控制信号的组合方法 存储器读存储器写 最小组态总线形成 (Intel产品手册推荐电路) RESET TEST HOLD HLDA NMI INTR INTA IOWR RD READY CLK READY MN MX+5V 控制总线 地址总线A 19 DEN8088 CPU STB 8282 OE OEA 系统总线 S2*、S1*、S0*的编码意义 S2* S1* S0* CPU的工作状态 过渡状态总线周期 总线周期总线周期 若干个 之间插入空闲时钟周期Ti,在两个总线周期之间插入 动态 各种周期的动态演示 存储器读[20002H]=35H 等待状态 CLKREADY 前沿检测 动态 等待状态Tw的插入微机原理(第四版)+孙杰版课后习题答案微型计算机系统。答:微处理器:使用大规模集成电路或超大规模集成电路技术,将计算机...另一方是以VIA、SIS和ALI等为代表的非Intel阵营。第2章:微处理器1、&填空题(1...防抓取,学路网提供内容。微型计算机的发展以什么技术作为指标?答:可以从以下几个指标来大体评价计算机的性能。(1)运算速度。运算速度是衡量计算机性能的一项重要指标。通常所说的计算机运算速度(平均运算速度),是指每秒钟所能执行的指令条数,一般用“百万条指令/秒”(mips,MillionInstructionPerSecon...微机原理与接口技术!!问:这门课和单片机联系大么?该怎么把握这门课?答:我是在校大学生,在搞电子设计竞赛,看到您的问题,想谈一下我对这两个东东关系的感受。第一:微机原理是搞电子工程,计算机等学科的基础的基础,所以说,把他学好,才能更利于你的以后的学习,既然如此,与单片机就当然是有联系的啦,毕竟单片...
- Copyright & 2017 www.xue63.com All Rights Reserved   具体的软件有Step7,Step7 MicroWin,Simatic Net,WinCC,Protool,Flexible,PCS7。
74:当试图通过TeleService建立PRODAVE MPI和样列程序之间的通讯时,为什么会出现出错消息4501?
调制解调器没有响应,并产生了出错消息4501。在这个情况下,工作站的规范不正确。在TeleService对话框中检查工作站的名称和工作站(standort)规范。此处可能有个不正确的缺省设删除“station”(“standort”)域中的缺省名,或输入正确的工作站名。那么就可以使用调制解调器在PRODAVE MPIY和TeleService之间建立连接。
75:是否可以将数据块的当前值作为初始值从AS传送到项目中?
可以。从AS中“ONLINE,打开相关数据块(DB).使用软盘图标“OFFLINE”保存DB.
   通过“File > Generate Source”在DB中产生STL源代码. 通过手动操作将BEGIN和END_DATA_BLOCK行之间的当前值与相应的声明(初始值)逐行连接起来,从而得到下列声明语句:
wordVar : WORD := W#16#ABCD;
END_STRUCT ;
编译STL源代码。
76:在通讯任务中,在哪些OB中必须调用SFB?
在启动型OB(如用于S7-300的OB100和用于S7-400的OB100和OB101)和循环模式OB(OB1)中,必须调用数据通讯或程序管理(把PLC切换到STOP或RUN)所需的所有SFB。OB100是启动型OB,并在重新启动CPU时运行。例如,在该OB中,用标记M1.0和M0.1来释放第一个通讯触发器。
77:怎样编程间接访问一个ARRAY类型变量的元素?
一个位、字节或者字符域的尺寸是按照字节限制排列的——在所有其它情况下是按照字对齐的。表T6-1中给出了一个域的存储示例。操作系统计算域中单个元素末端位置的位地址。域被分配到从下一个字地址(或字节地址)。下一个数据类型从下一个整字开始(或者整字节).
   声明部分:
   在声明部分,必须定义一个与将被间接寻址的ARRAY有着同一结构的ARRAY。不一定非要将ARRAY声明为IN-OUT变量;也可以声明为TEMP、IN或OUT变量。
   网络:
   域宽度(OFFSET)在网络中定义。ARRAY中的单个元素的最小常规数据宽度是一个字节;即使在两个变量之间定义一个BOOL。有必要确定相关的域的宽度和确定下一个期望域的起始地址。可使用下面的算法:地址(指数):b = 元素长度*(指数 - 1)
   创建具有不同数据类型的结构时,必须注意,在特定的环境下可能会自动插入填充字节。
   保存ARRAY数据类型
   示例:ARRAY [1..2,1..3] OF 整数将生成下列域:
   多维域是按照顺序保存的。在本例中整数 [1,1]后面是整数 [1,2],整数 [1,3]后面是整数[2,1]。
78:STEP 7 以哪种格式存储POINTER参数类型?
STEP 7以 6 个字节保存POINTER参数。表4-1显示了用于保存POINTER参数类型的内存区域以及每个字节中保存的数据。POINTER参数类型保存了下列信息:DB号(如果DB中没有保存任何数据时为0)。CPU中的内存区域(表格中列出了不同内存区域的十六进制代码)。
   数据的地址(按照Byte.Bit格式)。
如果将形式参数声明为POINTER参数类型,则只需要指定内存区域和地址。STEP 7自动将输入项目的格式转换为指针格式。
79:因为总是要首次调用Alarm8P(SFB35)块,怎样避免OB 1初始化过程花费太长时间?
激活(首次调用)报警块Alarm(SFB33)、A larm_8(SFB34)和Alarm_8P(SFB35)比简单地执行作业检查需要多花费 2 到 3 倍的运行时间。当传送告警时,块的运行时间也会同样长。然而警报通常不会成群发生,当编程时,需要注意警报块的首次调用,因为此处用到的所有块需要很长的运行时间,因此被调用OB的运行时间在某些情况下将显著增加。将警报块的首次调用移动到OB 100/101/102,可以将较长的运行时间转换到启动过程。此处处理时间也会较长,但是由于与模块的参数设置同时进行,启动时间不会太长。
80:当不能卸载STEP 7时,该怎么办?
设法通过控制面板卸载STEP 7。如果安装文件已损坏,卸载程序常会出错,并伴随出错信息。另外STEP 7 CD包含文件Simatic STEP7.msi。可以通过这个文件卸载STEP 7。81:加密的300PLC MMC处理方法
如果您忘记了您在S7-300CPU Protection属性中所设定的密码,那么您只能够采用siemens的编程器PG(6ES-0XA0)上的读卡槽或采用带USB接口的读卡器(USB deleteàS7 Memory Cardàprommer 6ES-0XA0),选择SIMATIC Manager界面下的菜单 File 选项删除MMC卡上原有的内容,这样MMC就可以作为一个未加密的空卡使用了,但无法对MMC卡进行jie密,读取MMC卡中的程序或数据。
82:以314C为例计数时如何清计数器值?
有两种方法:
1:在参数设置中“Gate function”选“Cancel count”软件门为0,在为1时,值将清零,
2:利用写“Job”的方式,写计数值的任务号为1。
83:CP342-5能否用于PROFIBUS FMS协议通讯?
CP342-5支持PROFIBUS DP协议,不能用于PROFIBUS FMS协议通讯,同样CP343-5只支持PROFIBUS FMS协议,不能用于PROFIBUS DP协议通讯,而CP342-5和CP343-5都支持PROFIBUS FDL的链接方式;
84:为什么CP342-5 FO无法建立通讯?如何配置?
CP342-5 FO不支持3MB,6MB的通讯速率,如果您购买的是5.1版本的CP342-5,而STEP7中没有V5.1版的CP342-5时,则可以插入一个V5.0版的CP342-5模块,功能不受影响。CP342-5在S7-300系统中的安装位置与普通的S7-300 I/O模块一样,可以插在4至11这8个槽位中的任何一个。
85:CP342-5的3中工作方式有什么区别?
No DP方式下:可以用CP342-5通讯口进行S7编程或进行PROFIBUS的FDL连接,连接人机界面;
DP Master方式下:CP342-5除了作为网络中的PROFIBUS主站之外,也可用于S7编程、FDL连接和连接人机界面。DP delay time参数一般不需设定,除非您采用FDL连接时,要与DP的I、O点刷新时间相一致,才根据PROFIBUS网络性能进行调整;
DP Slave方式下:CP342-5除了作为网络中的从站之外,如果选择了The module is an active node on the PROFIBUS subnet选择框,那么CP 342-5也可用于S7编程、FDL连接和连接人机界面,否则CP342-5只能作为从站使用;
86:CP342-5 最多能完成多少数据交换?
一套S7-300系统中最多可以同时使用4块CP342-5模块,每块CP342-5能够支持16个S7 Connection,16个S5-Compatible Connection。当CP342-5处在No DP模式下工作时,最多同时支持32个通讯链接,而处在DP Slave或DP Master模式下时,最多同时支持28个通讯链接。CP342-5 作为PROFIBUS DP主站时,最多链接124个从站,和每个从站最多可以交换244个输入字节(Input)和244个输出字节(Output),与所有从站总共最多交换2160个输入字节和2160个输出字节。CP342-5 作为从站时,与主站最多能够交换240个输入字节和240个输出字节。CP342-5 可以最多连接16个操作面板(OP)以及最多创建16个S7 Connnection。
87:如何实现在从站断电、通讯失败或从站通讯口损坏等现象出现时,主站能够不停机?
需要在您的STEP7项目中插入相应组织块。插入这些组织块时,不需要编程内容,当从站断电、通讯失败等现象出现时,主站只报总线故障,但不停机。这样,无论从站先上电,还是主站先上电,系统都能正常运行:
   在S7-300中加入OB82、OB86、OB122;在S7-400中加入OB82~OB87、OB122;
88:CP342-5连接上位机软件或操作面板时应该选择什么工作模式?
如果您只是用CP342-5连接上位机软件或操作面板(OP),这时通讯采用的是S7协议,那么建议您选择No DP模式,并且不需要调用FC1(DP_SEND)和FC2(DP_RECV)功能块,它们只是在PROFIBUS DP通讯时才使用;
89:为什么系统上电后,即使CP342-5开关已经拨至Run,但始终处于STOP状态?
应当检查STEP7程序和组态是否正确(删除程序,只下载硬件组态)、检查CP342-5连接的24V电源线是否正常、M端是否与CPU的M端短接、通讯电缆连接是否正确(确认通讯电缆未内部短路),CP的firmware是否正确。如果您确认可以排除以上原因,那么可能您的CP342-5已经损坏,请更换;
90:如何用CP342-5组态PROFIBUS从站?
1.在STEP7中生成一个新的项目,并插入一个S7-300站。
2.在硬件组态窗口中选择一个S7300的导轨以及相应的CPU。
3.硬件组态窗口中,在路径 "SIMATIC 300 > CP 300 > PROFIBUS > CP342-5" 选中于您订货号和版本号对应的CP342-5,插入到S7300站对应的槽位中,注意如果您购买的是Version5.1,而组态中只能够找到Version5.0,您可以选用Version5.1替代Version5.0.。
4.在插入CP342-5的过程中,会弹出一个PROFIBUS属性窗口,请点击”New…”按钮,创建一个PROFIBUS网络PROFIBUS(1) ,并设定CP342-5作为从站的站地址为3。
5.双击CP342-5,打开CP342-5的属性窗口,在"Operating Mode" 标签页下选择"DP Slave" 选项,此时会弹出一个警示窗口,告知您如果要用CP342-5实现CPU和PROFIBUS从站的通讯,必须调用FC1(DP_SEND)和FC2(DP_RECV)功能块,实现CPU与CP342-5之间的数据交换,而CP342-5与PROFIBUS的数据交换是自动完成的,不用编程。FC3和FC4用于诊断和通讯功能的控制,一般不用调用。
6.点击OK ,存盘编译。. 91:如何用CP342-5组态PROFIBUS主站?
1.在STEP7的SIMATIC Manager窗口中在插入一个S7300站;
2.重复以上组态从站步骤的2-4步,注意插入CP342-5时,不能点击”new…”按钮,而直接用鼠标选中以上创建的PROFIBUS(1)网络,点击OK;
   在"Operating Mode"标签页中选择"DP Master"选项;
92:采用CP342-5的DP通讯口与采用CPU集成的DP通讯口进行通讯有什么不同,这两种通讯口功能有什么不同?
可以通过CPU集成的DP通讯口或CP443-5模板的DP通讯口,调用Load/Transfer指令(语句表编程,如图2)、Mov指令(梯形图编程)或系统功能块SFC14/15访问从站上的I/O数据;
如果您使用342-5模块的DP通讯口进行通讯,那么您就不能使用Load/Transfer指令(语句表编程)、Mov指令(梯形图编程)直接访问PROFIBUS从站的I/O数据。采用CP342进行PROFIBUS通讯包括两个步骤:
1.CPU将数据传输到CP通讯卡的数据寄存器当中;
2.数据从CP342-5的数据寄存器当中写到PROFIBUS从站的Output数据区(反过来就是CPU读取从站Input数据的过程);CP342-5与从站的Input/Output数据区的通讯过程是自动进行的,但是您还必须自己手动的调用功能块FC1(”SEND”)和FC2 (”RECV”),完成CP342-5与CPU之间的数据交换。
93:功能块DP_SEND、DP_RECV"的返回值代表什么意思,如何理解?
"DP_SEND"功能块包括有"DONE","ERROR" 和"STATUS"三个参数,用来指示数据传输的状态和成功与否。"DP_RECV"功能块包括有"NDR", "ERROR", "STATUS" 和"DPSTATUS"四个参数,用来指示数据传输的状态和成功与否。您可以定义相应的数据地址区,存放这些返回值,分析返回的值的意思,当Error=False,STATUS=0,DONE=True,NDR=True时,说明CPU与CP342-5之间的数据交换成功进行。
94:DP从站,CP模板以及CPU之间的数据通讯过程是如何进行的?
使用CP342-5模块,无论调用"DP_SEND" 功能块还是"DP_RECV" 功能块,您都不能直接读写某个PROFIBUS从站的I/O数据。CP342-5模块有一个内部的Input和Output存储区,用来存放所有PROFIBUS从站的的I/O数据,较新版本的CP342-5模板内部存储器的Input和Output区分别为2160个字节,Output区的数据循环写到从站的输出通道上,循环读出从站输入通道的数值存放在Input区,整个过程是CP342-5与PROFIBUS从站之间自动协调完成的,您不需编写程序。您可以在PLC的用户程序中调用"DP_SEND"和"DP_RECV"功能块,读写CP342-5这个内部的存储器。
95:通过CP342-5,如何实现对PROFIBUS网络和站点的诊断功能?
用功能块"DP_DIAG" (FC 3) 可以在程序中对cp模块进行诊断和分析,可以通过job类型如DP 诊断列表,诊断单个dp状态,读取dp从站数据,读取cp或cpu的操作模式,读取从站状态等等
96:为什么当CP342-5模块作为PROFIBUS DP主站,而ET200(如IM151-1或IM153-2)作为从站时,CP342-5上的SF等不停闪烁?
当S7-300系统中的CP342-5作为DP主站,下挂IM153-2 模块时,IM153-2只能作为DP主站,而不是S7从站运行。可以采取通过GSD文件将ET200从站组态进你的系统。随后IM153模块可作为 DP 标准从站运行。为此,您必须将GSD文件安装到硬件目录中(通过菜单序列Tools > "Install new GSD file")。在更新了硬件目录后您会在"PROFIBUS-DP > Additional Field Devices".中发现DP从站。
97:11.2. 在STEP7中打开一些对象时出错是什么原因?
有的时候您在打开某些项目中的对象时,STEP7会弹出报错窗口,错误信息为'*.dll'文件无法被装载,代码是257:5,
可以看出,上面的错误信息是一个或多个对象不能被显示,出现这种错误的原因是您没有安装与要打开对象相关的软件包。
98:如果想通过上位或触摸屏对PLC中S5TIME类型的参数进行设定,有什么方法?
1、从上位机写整型数INT或实数REAL到PLC,首先该数值需包含以毫秒为单位的时间值,在写入PLC的数据存储区后,利用ITD(Integer to Double Integer)或RND(Real to Double Integer with Rounding Off)将该值转换为双整形,然后将该值写到类型为TIME的变量里,在程序中调用FC40,将TIME转换成S5TIME即可。
2、从上位机写WORD到PLC,首先该数值需包含以某时基为单位的时间值,在写入PLC的数据存储区后,用Word Logic下的WOR_W指令将该值与其时基相或,再利用MOVE指令将得到的数值写入S5TIME类型的变量中。
3、如果使用WinCC作为上位软件,或上位软件支持32位带符号浮点数,可以从上位写32位带符号浮点数到PLC中定义为TIME的变量,然后在程序中调用FC40,将TIME转换成S5TIME即可。
99:STEP 7中相关时间处理和转换的功能块有哪些?
SFC 0 "SET_CLK" 设置CPU时钟
SFC 1 "READ_CLK" 读出CPU时钟
FC 3 "D_TOD_DT" 从DATE_AND_TIME 中取出DATE。
FC 6 "DT_DATE" 从DATE_AND_TIME 中取出the day of the week,即星期几
FC 7 "DT_DAY" 从DATE_AND_TIME 中取出时间
FC 8 "DT_TOD"
FC33用于S5TIME到TIME的转换
FC40用于TIME到S5TIME的转换
100:如何实现带电拔出或插入模板,即热插拔功能?
   使用普通的S7-300导轨和U型总线连接器是不能实现热插拔功能的,您必须购买有源总线底板,才能实现该功能。另外,您在配置时,必须使用MLFB 6ES7 153-1AA02-0XB0版本以上的接口模块,因为它支持DP协议的DPV1版本,而MLFB IM153-1AA00-0XB0模块是不支持该功能的。目前您能够购买到的IM153接口模块都支持热插拔,只有2-3年以前的IM153接口模块不支持热插拔。
软件要求:您必须在STEP7 5.1版本以上进行配置;
如果您采用S7-400 CPU或S7-400 CP作为DP主站,那么您可以直接在IM153的属性窗口的"Operating Parameters"标签页里配置热插拔功能。
1:在STEP7的硬件组态窗口的PROFIBUS DP目录中选择相应IM153模块,可以看出该模块支持“module exchange in opration”(热插拔);
2:将IM153模块拖到PROFIBUS总线上;
3:选择I/O模块,插入到ET200M站的各个槽位中;
4:双击ET200M站,打开属性窗口,选中“Replace modules during operation“(热插拔)选项;
5:属性窗口中提供了ET200M站热插拔功能所需的有源总线导轨的订货号;
6:属性窗口中提供了该型号IM153,插入的I/O模块对应使用的有源总线底板的订货号;
除了以上的硬件组态之外,还要向S7-400中下载OB82、OB83、OB84、OB85、OB86、OB87、OB121、OB122等组织块。当ET200M从站上进行模块的热插拔时,中断组织块OB83 ,OB85,OB122被调用。
如果您采用S7-300 CPU 或 CP 342-5作为DP主站,那么您只能够通过安装GSD文件的方式将IM153模块组态成DP从站,并双击IM153,打开它的属性窗口,进行设置。否则您在STEP7的硬件组态窗口中直接将PROFIBUS DP目录ET200M文件夹下IM153模块挂在PROFIBUS总线上。101:我如何做到对自己的程序块进行加密保护?
您能够通过STEP7软件的KNOW_HOW_PROTECT功能实现对您程序代码的加密保护。
如果您双击鼠标打开经过加密的程序块时,您只能看到该程序块的接口数据(即IN, OUT 和IN/OUT 等类型的参数)和注释信息,而程序块中的代码及代码的注释,临时/静态变量是不能被看到的。同时您也无法对加密保护的程序块做出任何改动。
如何实现程序块保护:
1.打开程序编辑窗口LAD/FBD/STL;
2.将要进行加密保护的程序块生成转换为源代码文件(通过选择菜单 File—>Generate source 生成);
3.在LAD/FBD/STL 窗口中关闭您的程序块,并在SIMATIC
Manager项目管理窗口的source文件夹中打开上一步所生成的source文件;
4.在程序块的声明部分,TITLE行下面的一行中输入”KNOW_HOW_PROTECT”;
5.存盘并编译该source文件(选择菜单FileàSave,FileàCompile);
6.现在就完成了您程序块的加密保护;
102:我如何做到对自己的程序块进行jie密?
取消对程序块的加密保护
1. 打开程序块的Source源文件;
2. 删除文件中的KNOW_HOW_PROTECT;
3. 存盘并编译该source文件;
现在程序块的加密保护已经取消。
注意: 如果没有 STL source 源文件,您是无法对已经加密的程序块进行编辑的;
103:在冗余电源配置中,电源模块掉电,调用那个OB可以防止CPU停机?
通过在程序中添加OB83可以防止CPU停机而添加OB81不能防止CPU停机。
通常我们很容易以为OB81就是处理所有电源故障的OB块,但对于冗余电源配置中,某个电源模块掉电故障,实际上CPU当作模块插拔故障来处理,因此需调用OB83。
104:WinCC作为Modbus主站,进行浮点数读取时数据不正确是什么原因?
WinCC作为Modbus主站,进行浮点数读取时,Tag的类型应当选为浮点数32位,注意地址偏移为32的整数倍+1(即33、65、97),如果采用选用Input Bits/Output Bits方式读写(Function Code 01,02),在PLC当中应当将一个字的高低8位进行对调。如果选用Input Words/Output Words方式读写(Function Code 03,04),在PLC当中将一个双字的高低16位进行对调,S7300 Modbus程序块的浮点数处理存在误差,大致在0.5%左右。
105:CP341 modibus通讯时,modibus功能码如何设定?
Function Code 01,05,15 对应M,Q,T,C等数据区,可读可写,具体的字节范围由您在modbus从站组态时设定。
Function Code 02对应M,I数据区,只读,具体的字节范围由您在modbus从站组态时设定。
Function Code 03,06,16 对应DB区,可读可写,在modbus从站组态时设定对应的DB块。
Function Code 04 对应DB区,只读,在modbus从站组态时设定对应的DB块。
106:CP34x的通讯连接电缆中,自己制作电缆应该注意哪些?
如果你使用自己制作的电缆,那么必须使用带屏蔽外壳的D型接头,屏蔽线应当和接头的外壳连接,禁止将电缆的屏蔽层和GND连接,否则会造成通讯接口的损坏,请注意RS232不支持热插拔,所以一定要断电后在插拔通讯电缆;
107:在用CP340,CP341与第三方产品通讯时(如PC机,用VB,VC读数据)怎样识别联线是否是好的?
在用CP340,CP341与PC机通讯时,常常读不出数据,这样有两个方面原因。
其一,在PLC侧程序是否正确。用上升沿触发P_Send,可以看见TXD灯闪,这样可以判断PLC侧程序没问题;
其二,PC侧VB,VC程序的问题及电缆线的联接好坏,无从知道,如果联线没问题,就可以集中精力在PC侧找原因,判定联线是否接好,显得非常重要,有一个小方法可以测出。在PLC侧修改CP340用ASCII方式传送,在发送DB块中写几个字符形式的数据(chat 如'1','2','A'等)并间隔触发P_Send功能块。
在PC侧修改串口参数与PLC一致,如波特率,数据长度,停止位,奇偶校验,无握手信号等。在Windows下附件中打开"Hyper Terminal"建立一个直接到串口的连接,这样就可以读到从PLC中发送的数据如‘12A'等。同样用"Send Text File"的功能,把一些字符送到PLC。这样如果联接电缆是好的,那么可以简单地判断问题是出在哪里。
108:如何使用CP341模板实现Modbus主站或从站通讯,我应当定购那些产品?
1)CP341 模块: 6ES7 341-1xH01-0AE0 (x:= A: RS232; x:= B: TTY; x:= C: RS422/485)
2)**(MODBUS master): 6ES7 870-1AA01-0YA0
或者**(MODBUS slave): 6ES7 870-1AB01-0YA0 109:每当断电重启后,CP341模板和调制解调器(如SATEL的modem)之间的通讯出错是什么原因?
这是因为 DTR 、 RTS信号默认为0造成的,可以在OB1中调用FC6 (V24_SET). 参数RTS 和 DTR 设置为"TRUE". 110:配置"CP 340 RS232C"打印工作应注意什么?
调用功能块FB4"P_PRINT"打印字符信息。功能块"P_PRINT"传送信息给通讯处理器CP340,CP340发送信息给打印机把信息打印出来。为了打印这些信息必须知道参数"P_PRINT","Pointer DB","Variables DB"和"Format String"的相对关系。
111:CP 341 / CP 441-2 需要多少许可证(License)?
在任何情况下,每一个MODBUS站都需要一个单独的许可证。6ES7 870-1AA01-0YA0包含软件CD,文档(PDF文件)和硬件狗。如果在同一个站使用几个CP341或CP441通讯处理器,则每个CP都需要一个MODBUS许可证副本(copy license),即不带手册和软件的MODBUS Dongle,只有一个硬件狗,订货号为6ES7 870-1AA01-0YA1。
注意事项:
对于有两个接口的 CP 441-2,仅需要一个许可证,并且每个接口都可以使用任何协议。
112:关于CP34x串行通讯中的起始位、数据位、校验位、停止位的说明?
CP34x通讯模板与其他设备进行通讯时,串口传输的是一个10位或11位的数据帧,在模块的Parameters属性窗口中您可以设置数据帧的格式,对这个10或11位组成的数据帧的组成遵循以下规则:
帧的第一位必须是起始位,始终为1,不能修改;
起始位之后是7-8位数据位,由用户收发的数据组成;
数据位之后是校验位,odd奇校验,even偶校验,any不校验但校验位为0,none无校验位;
校验位之后是停止位,可以设为1-2个位,始终为1,不能修改;
113:如何通过单向通信从S7-300 / 400访问S7-200上的数据?
通过MPI,从带有X_PUT / X_GET的S7-300 / 400 可以访问几个S7-200 CPU。在这种情况下,g S7-300 / 400 是主站,S7-200 是从站。
对于CPU22x系列的S7-200 CPU,可以在19,2 kBd 和 187,5 kBd下工作。从某个固件状态起,CPU21x系列的S7-200 CPU只能控制波特率19,2 kBd。
114:使用通讯处理器(CP340, CP341, CP441-2, CP441-1)时对于协议 3964(R) 和 RK512 可以使用 2 线和 4 线模式吗?
在点对点通讯中,在使用上述的通讯处理器时,只能在 4 线模式中执行协议 3964(R) 和 RK512. 115:当传输字符串或ASCII字符应注意什么?
当传送字符串必须确认最高为254字符。一个STRING(character string)的数据格式最大256字符,包括254个字符,最大的字符长度在字符串的第一字节中定义,实际长度在第二个字节中定义,接下来的是字符ASCII格式。
当传送字符串数据时,指针必须指向用户数据的第一位而不是字符串的第一个位。
116:通过PROFIBUS-DP使用SFC 58/59或者 SFB 52/53进行通信时,存在通信限制吗?
当使用写操作标签和读操作标签(SFC 58/59或者SFB 52/53)时,存在根据CPU而定的对活动工作的限制:
CPU 31x-2DP: 每个DP链上允许同时进行4个写操作和4个读操作。
CPU 317, CPU 318-2: 每个DP链上允许同时进行8个写操作和8个读操作。
CPU 41x-2DP: 每个DP链上允许同时进行8个写操作和8个读操作。
在外部链上,每个SFC/SFB同时进行的写操作和读操作的数目总共不能超过32。因此,每个CPU和SFC/SFB上可以同时进行最多40个(内部链上8个 + 外部链上32个)作业。
如果在PROFIBUS Net上运行几个通信伙伴,请确保不要激活比指示值更多的作业。一个SFC/SFB可能持续几个CPU循环周期. 118:可以用模拟输入模块SM 331-7NF00进行参数设置的最大干扰频率是多少?
通过硬件配置,可以设置参数为400Hz的最大干扰频率。通过特殊的滤波器可以得到这个数值。
最小的有效综合时间是10ms——这样就可抑制100Hz的干扰频率。模块的最小基本执行时间(释放所有通路)是140ms. 119:关于机架故障,在编程OB86时需要注意哪些事项?
只要检测出机架故障,操作系统就会调用OB86,例如:报告机架故障(例如:缺少IM或IM故障导致连接电缆中断),机架的分布式电源故障,在总线系统PROFIBUS-DP的主站系统中,DP从站发生故障。
   在S7-300和S7-400中处理故障的方法不同:
在S7-300中,当中央机架出现故障时,不调用OB 86;只有分布式机架发生故障才调用它。
在S7-400中,非分布式或分布式机架出现故障的情况下,均调用OB 86。
120:关于300的硬件安装配置应该注意什么?
通常一套S7-300 PLC系统有一个主机架,安装有CPU的机架称为主机架,当主机架上的I/O模块(最多8块)上的控制点数不够时,可以再增加1-3个扩展机架,每个扩展机架最多可安装8个I/O模块,装在4到11槽,3个扩展机架最多安装24个I/O模块。
在使用扩展机架时,需要机架(Rack),电源模块(PS),接口模块(IM),连接电缆368,S7-300的模块(信号模块、通讯模块、功能模块等)。
S7-300的安装机架是一种导轨。你可以使用该导轨,安装S7-300系统的所有模板。S7-300既可以水平安装,也可以垂直安装。要注意其允许的环境温度为:
垂直安装:0 至 40°C、水平安装:0 至 60°C、 CPU和电源必须安装在左侧或底部。
121:如何判断电源出错,如:电池故障?
如果电源(仅S7-400)或缓冲区中的一个错误触发一个事件,则CPU操作系统访问OB81。
错误纠正后,重新访问OB81。电池故障情况下,如果电池检测中的BATT.INDIC开关是激活的,则S7-400仅访问OB81。如果没有组态OB81,则CPU不会进入操作状态STOP。如果OB81不可用,则当电源出错时,CPU仍保持运行。
122:如何诊断模拟量模板?
CPU 可以中断用户程序的执行处理诊断报警块OB 82。
在用户程序中你可以调用OB 82 中的SFC 51 或SFC 59 以从模板中获得更为详细
的诊断信息。
诊断信息在OB 82 退出之前都是一致的当OB 82 退出时将对模板作出诊断中断响
123:对于小功率输入的触发器,如何避免线路损坏?
将触发器连接到SM322-8BF,如果它的1信号功率输入低于10mA(例如1mA),则可能会报告线路损坏。不建议禁用“Wire breakage”诊断,因为这将禁用所有的诊断,并且当SM322-8BF在一定电流范围(0.5到10mA)内工作时,可能无法安全地开关。
补救措施:接一个与触发器平行的电阻,这样至少有10mA(24V ca. 2.4 kOhm)的电流。该电阻应该直接安放在触发器上,从而可以方便检测线路损坏。
124:如何为S7 318-2 CPU进行操作系统更新?
创建一个操作系统更新卡所必需的条件:
1. S7存储卡的类型:2 MB的闪存,订货号6ES7 953-8LM00-0AA0、6ES7 951-1KL00-0AA0
2. STEP 7 V3.1或更新版本
3. 具有外部PROM编程器的PC或者编程设备(PG),用于编程存储卡
使用STEP7创建操作系统更新卡的步骤:
1. 下载所需的CPU文件;
2. 双击文件名将文件解压缩;
3. 在Simatic Manager中执行“File/S7 Memory Card/Delete”,删除微存储卡内容;
4. 在Simatic Manager中选择“PLC/Update CPU Operating System”对操作系统进行编程。选择目标目录并“打开”CPU_HD.UPD文件,开始编程过程;
5. 当标准鼠标指针重新出现时,即完成对操作系统更新卡的编程。
执行操作系统更新:
1. 切断CPU所处机架的电源(PS);
2. 在CPU中插入准备好的操作系统更新卡;
3. 接通CPU所处机架的电源(PS);
4. 操作系统从微存储卡传送到内部CPU闪存EPROM。此时,将点亮CPU的所有LED(INTF、EXTFFRCE、CRST、RUN、STOP);
5. 大约2分钟后完成操作系统更新,此时STOP LED将慢速闪动=>请求系统存储器复位;
6. 切断电源,插入操作所需的微存储卡;
7. 接通电源,CPU执行一次自动存储器复位,之后立即进入准备就绪状态。.
注意:为执行更新,必须从模块中拆除电池. 125:模拟量模板的信号转换时间如何计算?
转换时间由基本转换时间和模板的以下其它处理时间组成
1)电阻测试 2)断线监控
基本转换时间直接取决于模板量输入模板的转换方法积分方法瞬时值转换
对于积分转换方法积分时间将直接影响转换时间积分时间取决于你使用STEP 7 所设置的干扰频率抑制。
126:是否可能在两个DP从站之间运行一个DP网络?
不能。不可能建立从站-从站通信。总是需要一个主站来操作DP网络。智能从站可以访问其它从站的初始值(直接数据通信),但是总是需要DP主站来控制DP网络。智能从站也可以不使用DP网络而独自工作(单机工作),但是它们不能作为DP主站来提供服务。仅可以与模块接口共同工作。
127:对于有些模拟量输入模板你可以使用STEP 7 设定模拟值的平滑指数,它能起到什么作用?
使用平滑指数:模拟值的平滑指数可以保证进一步处理的稳定模拟信号;这对于模拟值与被测值之间的缓慢变化相适应非常重要,例如温度测量时。
平滑原理:被测值可以通过数字滤波进行平滑平滑可以通过模板根据转换数字化模拟值的规定数量计算平均值来实现;用户可以在最多四个等级赋值平滑参数无低平均高这四个等级决定了用于平均计算的模拟信号数量;所选平滑等级越高所平滑的模拟值将越稳定时间越长直到在一个阶跃响应后适用所平滑的模拟信号。
128:模拟信号电缆应该单端接地还是2端接地?
为了减少电子干扰对于模拟信号应使用双绞屏蔽电缆模拟信号电缆的屏蔽层应该两
但是如果电缆两端存在电位差将会在屏蔽层中产生等电线连接电流造成对模拟信号的干
扰在这种情况下你应该让电缆的屏蔽层一点接地。
129:模拟量信号为:7FFFH,是什么原因?
每个模拟量输入模板都可提供被测值7FFFH 与发现故障时的参数赋值无关,该被测值
可以是上溢故障或通道无使能
130:防止静电放电危险一般有哪些措施?
保证良好的接地:在处置对静电敏感的设备时应确保人体工作表面和包装有良好的接地这样可以避免充上静电。
避免直接接触:只在不可避免的情况下才接触对静电敏感的设备例如在维修时手持模板但不要接触元件的针脚或印刷板的导体用这种方法使放电能量不会影响对静电敏感的设备
如果必须在模板上进行测量在开始测量之前必须先接触接地的金属部分使人体放电这种方法只适用于接地的测量设备。
131:S7-300/400 PLC支持哪些寻址方式? 1)直接寻址
1.直接地址:例如I0.0,Q1.7,PIW256,PQW512,MD20,T15,C16,DB1.DBB10,L10.0等
2.符号寻址:例如qq,ww.aa等
2)间接寻址
1.存储器间接寻址:16位指针,例如OPN DB[MW2] 32位指针,例如A I[MD0] 2.寄存器间接寻址:32位指针,例如A I[AR1,P#0.0],A [AR1,P#0.0] 132:如何使用指针?
指针用来指向一个地址。使用这种寻址方式的优点在于可以在程序运行过程中实现变址。指针用于存储器间接寻址
程序中用于存储器间接寻址的语句包含一个指令、一个地址标识符、以及一个偏移量(偏移量必须在方括号内给出)。
下面给出一个双字格式的指针的例子:
L P#8.7 把指针值装载到累加器1 T I[MD2] 把指针值传送到MD2 A I[MD2] 查询I8.7的信号状态
= Q[MD2] 给输出位Q8.7赋值
存储区域内部寻址及交*寻址:程序中采用这些寻址方式的语句包含一个指令以及下列内容:地址标识符、地址寄存器标识符、偏移量。地址
寄存器(AR1、AR2)及偏移量必须写在方括号内。
存储区域内部寻址例程:指针不包含指示存储区域的信息:
L P#8.7 把指针值装载到累加器1 LAR1 把指针从累加器1装载到AR1 A I[AR1,P#0.0] 查询I8.7的信号状态
= Q[AR1,P#1.1] 给输出位Q10.0赋值
偏移量0.0不起作用。输出Q10.0 等于8.7 (AR1) 加偏移量1.1。结果是10.0 ,而不是9.8。
存储区域交*寻址例程:在存储区域交*寻址中,指针中包含指示存储区域的信息(例子中为 I 和 Q)。
L P#I8.7 把指针值及存储区域标识装载到累加器1 LAR1 把存储区域I 和地址8.7装载到AR1 L P#Q8.7 把指针值和地址标识符装载到累加器1 LAR2 把存储区域Q和地址8.7装载到AR2 A [AR1,P#0.0] 查询输入位I8.7的信号状态
= [AR2,P#1.1] 给输出位Q10.0赋值
偏移量0.0不起作用。输出Q10.0 等于8.7 (AR2) 加偏移量1.1。结果是10.0 ,而不是9.8,
133.如何用一个变量作索引实现在一个域中读一个元素或写一个元素?
一个域(数据类型为ARRAY)是几个相同数据元素的连接。在源代码中一个单空间域的声明执行如下:
My_Array: ARRAY[4..11] OF INT; 它标识了一个数据类型为“INTEGER”的8(=11-4+1)元素单空间域。
为了访问域中的一个元素,输入域名并在方括号中输入希望访问的元素的号码,比如:My_Array[6]。
在S7-SCL (结构化控制语言- 符合IEC 1131-3 的结构化文本)可以使用变量做索引:
i:INT:=46 My_Array[i]:=0 在FBD/LAD/STL中,索引必须是个常量,因此限制了可使用的域的范围。
134:怎样访问复合数据类型数组单元的变量?
复合数据类型数组单元中的变量只有通过单独的函数才能访问。作为传送参数这个函数拥有期望的数组数量并以数组[0]作为起始地址。对此函数的要求是数组置于一个数据块中并且数组[0]不被当前数据使用。这就决定了从参数传送来的地址并将指定的数组拷贝到作为处理区的数组[0]。接下来可对数组进行符号处理。然后它被拷贝回原始的数组号。
首先用这些参数定义并计算数组[0]的地址和要处理的数组数量。将这些值保存在函数的临时变量内。
L P##Field_Start // 输入地址域[0] LAR1 L D [AR1,P#0.0] // 把这些地址保存在类型为ANY的临时变量中
T LD 0 // temp 'firststruc' = LD 0-9 T LD 10 // temp 'sourcestruc' = LD 10-19 L D [AR1,P#4.0] T LD 4 T LD 14 L W [AR1,P#8.0] T LW 8 T LW 18 L LD 16 // 定义期望数组的地址
LAR1 L #Indices L LW 12 *I SLD 3 +AR1 TAR1 LD 16 然后用SFC20 (BLKMOV)将要处理的数组拷贝到数组[0]。就可以根据应用需求,对索引数组通过符号访问。然后用SFC20 (BLKMOV)将数组[0]拷贝回原始区域。
135:能否在STEP 7中使用间接寻址编写循环程序?
可以,间接寻址允许寻址地址在程序运行期间才可以确定的操作数。这意味着,程序的一部分可以重复执行。在每个运行周期内,循环编程为所使用的操作数分配不同的地址。
136:ANY指针类型的参数如何被传送出块边界?
下面的例子解释了系统功能块SFC50“RD_LGADR”(读模块逻辑地址)内参数的确定。例如,为功能块FB1编程可分为下面几个步骤:
?声明一个IN变量“test”和一个TEMP变量“test2”,类型都为ANY(图1)。
?将SFC50的参数“PEADDR”传送到变量“test2”。
?通过为ANY指针“test”赋值,将数据传送到临时变量“test2”中。
语句L P##test首先将地址装载到Accu1,然后通过LAR1语句装载到地址寄存器AR1中(可能是LAR1 P##test的简化格式)。通过寄存器间接寻址将ANY指针(10 字节长)中的地址信息读出:
0 L W[AR1,P#0.0] 读出当前Accu1中参数数据类型的代码。
2 L W[AR1,P#2.0] 读出Accu1中的重复因数。重复因数表明通过参数类型ANY传递的数据类型的大小。
4 L W[AR1,P#4.0] 读数据块的号或者从ANY指针中读出“0”(这个对应于ANY指针的第 4 到第 5 字节)。
6 L D[AR1, P#6.0] 将区域指针读入Accu1。
每次读地址寄存器AR1之后,数据被保存或者缓存(如T LW 0)在临时变量“test2”中(ANY指针)。按照Network 1中的语句顺序,传送到功能块FB1 的ANY指针被复制到临时变量“test2”中。
137:怎样通过交*区域寄存器间接寻址访问功能块的本地数据或者功能?
这里必须预先定义本地数据。您可以使用下列语句访问FB或FC的本地数据:
对于存储器间接指针寻址,本地变量必须声明为临时变量(temp):
L P##Lokalvariable LAR1 L W[AR1,P#X.x] 此处不能使用变量类型“Input”、“Output”和“In_Out”,将被语法检查视为非法。
138:怎样编程间接访问一个ARRAY类型变量的元素?
一个位、字节或者字符域的尺寸是按照字节限制排列的——在所有其它情况下是按照字对齐的。表T6-1中给出了一个域的存储示例。操作系统计算域中单个元素末端位置的位地址。域被分配到从下一个字地址(或字节地址)。下一个数据类型从下一个整字开始(或者整字节). 声明部分:
在声明部分,必须定义一个与将被间接寻址的ARRAY有着同一结构的ARRAY。不一定非要将ARRAY声明为IN-OUT变量;也可以声明为TEMP、IN或OUT变量。
域宽度(OFFSET)在网络中定义。ARRAY中的单个元素的最小常规数据宽度是一个字节;即使在两个变量之间定义一个BOOL。有必要确定相关的域的宽度和确定下一个期望域的起始地址。可使用下面的算法:
地址(指数):b = 元素长度*(指数 - 1) 创建具有不同数据类型的结构时,必须注意,在特定的环境下可能会自动插入填充字节。
保存ARRAY数据类型:
示例:ARRAY [1..2,1..3] OF 整数将生成下列域:
多维域是按照顺序保存的。在本例中整数 [1,1]后面是整数 [1,2],整数 [1,3]后面是整数[2,1]。
139:STEP 7 以哪种格式存储POINTER参数类型?
STEP 7以 6 个字节保存POINTER参数。表4-1显示了用于保存POINTER参数类型的内存区域以及每个字节中保存的数据。i POINTER参数类型保存了下列信息:
DB号(如果DB中没有保存任何数据时为0)。
CPU中的内存区域(表格中列出了不同内存区域的十六进制代码)。
数据的地址(按照Byte.Bit格式)。
如果将形式参数声明为POINTER参数类型,则只需要指定内存区域和地址。STEP 7自动将输入项目的格式转换为指针格式。
140:如何间接访问I/O地址区域? 下面演示了一个间接访问PA区域的例子。您具有对输出模块只写访问和对输入模块只读访问的权利
FUNCTION_BLOCK FB 2 TITLE = VERSION : 0.1 VAR_INPUT TargetAddress : DWORD := DW#16#FF; //Target address by PA address range OutputValue : DWORD ; //Output value P_Typ : BOOL ; //1=PE range, 0=PA range END_VAR VAR_OUTPUT InputValue : DWORD ; //Input value END_VAR VAR_TEMP TargetTmp : DWORD ; END_VAR BEGIN NETWORK TITLE = U #P_T SPB PEA; L #TargetA T #TargetT //Load target address in the tempor鋜e store SLD 3; //Calculate the formate of pointer Byte.Bit T #TargetT //Initialisation of temp variable with target address in L-Stack L #OutputV //Load output value T PAD [#TargetTmp]; //Transfere output value to target address SPA E PEA: L #TargetA T #TargetT //Load target address in the tempor鋜e store SLD 3; //Calculate the formate of pointer Byte.Bit T #TargetT //Initialisation of temp variable with target address in L-Stack L PED [#TargetTmp]; //Load output value T #OutputV //Transfere output value to target address End: CLR ; END_FUNCTION_BLOCK 141:应用软件冗余当一个长度错误出现导致CPU处于STOP模式应该作些什么? 当在OB100中设置软件冗余功能块FC100时,必须注意下列情况:参数IEC_NO 的背景数据块必须至少有两个字的长度,同样应用于冗余用户程序的参数DB_NO的数据块也必须时这样。
142:在S7程序中,有许多FC、FB块, 我怎样对其中的一些块进行保护, 而其它的块可以是开放的呢? 1) Step7中, 可以先任意打开一块如OB1, 在"file"中选择"Generate Source"或快捷方式"Ctrl+T",弹出一个画面,填写"object name"如"tt",然后按OK确认,就会再弹出另一个画面,左边是你的程序中所有的块,如果你需要保护哪些块, 就把这些块移到右边,如FB1、FB2等等, 然后退出所有的程序块,再进入SIMATIC Manager中。
2) 在S7 Program Sources找到文件tt,双击tt打开,在第四行中加入"Know_How_Protect", 然后编译, 无错后存盘。这样FB1、FB2就被保护住,如想去掉保护,在tt中去掉"Know_How_Protect"编译存盘即可。
注意: 千万不要丢失或删除源文件(如tt), 否则程序被保护, 用户可以另存到其它目录中,或Export Source到硬盘中,再删除源文件,这样别人只能看到未保护的块。
143:SFB41,SFB42,SFB43和FB41,FB42,FB43的区别?
SFB41(CONT_C),SFB42(CONT_S),SFB43(PULSEGEN)块和FB41(CONT_C),FB42(CONT_S),FB43(PULSEGEN)的区别:SFB41,42,43与FB41,42,43的参数设置是一样的。SFB41,42,43只能用于CPU314IFM;FB41,42,43可用于CPU313以上的CPU(除CPU314IFM),因为SFB41,42,43集成于CPU314IFM中,而在普通CPU中没有这些块。
144:如何在多例兼容功能块中找到变量地址?
在多例兼容功能块中,为块参数和静态本地数据加载与地址寄存器AR2有关的绝对地址。如果要在情景数据块中找到变量的绝对地址,则必须把域内指针(只是AR2的地址)加载到变量地址。
样例: TAR2 //将地址寄存器加载到累加器AC1(偏移量) UD DW#16#00FF_FFFF // 关闭区域ID L P##variable //加载变量地址
+D // 增加偏移量和变量地址
LAR1 // 保存地址寄存器AR1中的结果
这样可在AR1中获得绝对地址以进行进一步处理。
当功能块作为本地实例调用时,总要使用该方法。比如,在一个功能块中创建可做为类型“FB”的静态变量的功能块。这样所调用的情景数据块的数据偏移量就存储到情景数据块中。单个实例的偏移量在AR2中。如果不调用作为本地实例的功能块,则可以结束计算。值‘0'就在地址寄存器中。
注意事项:如果改变程序中的地址寄存器AR2,那么也改变了变量的偏移量地址。因此就不能保证再对变量进行正确访问。在这种情况下,必须预先保存AR2,并在对程序动作完之后将其复位为初始状态。
样例: TAR2 // 在累加器中加载偏移量地址
T #save // 比如,静态本地数据域 0中的变量
L DID 0 // 地址绝对是由DI加载的beds<Y L AR2 // 核对
145:怎样才能访问上一函数的本地数据?
如要访问以前的本地数据(“V-e > L”数据),可以传送一自创建ANY指针或绝对地址到被调用的FC。如果传送的是自创建ANY指针,区域指针会指向其本地数据,而这是无意义的。> 因此“V”区域码必须置于ANY指针中。此码必须准确传送。当指定绝对地址时可由编译器完成此工作。
常规程序结构:
以ANY指针或绝对(地址)方式传送:
LAR1 P##target //本地定义的ANY变量初始地址
L W#16#87 //为“V”区域载入码
T LB[AR1,P#6.0] //传送到ANY变量
CALL FCxy source1: = #target //传送自创建的ANY指针
source2: = P#L 0.0 BYTE 8 //传送完全L数据区
绝对寻址与通过ANY指针寻址的区别:
下图显示了绝对寻址与通过自创建ANY指针寻址间的区别。在这种情况下“87”码不传送,因此ANY指针指向其本地区域。
146:怎样在DB内进行间接寻址?
在DB内进行间接寻址例子
147:下面是一个在STEP7软件中实现简单指针寻址的例子程序,您可以参考它的结构实现您的指针寻址功能?
siemens指针寻址例子_cpu315 148:绝对地址和符号寻址的定义和区别是什么?
在STEP 7程序中要用到I/O信号、位寄存器、计数器、定时器、数据块及功能块。在程序中可以采用直接地址,或者更便于读程序的符号寻址,例如Motor_A_On,或采用你的公司或行业常用的代码。这样在你的用户程序中就可以通过符号来寻址。
绝对地址:绝对地址由地址标识符和存储器的位置组成,例如Q1.0,I1.1,M2.0, FB21等。
符号地址:如果为绝对地址指定一个符号名,程序会更便于阅读和查错。
STEP 7 可以自动将符号名翻译成所需的绝对地址。如果要用符号名存取ARRAY、STRUCT、数据块、局部数据、逻辑块、以及用户自定义数据类型,必须首先为绝对地址指定一个符号名。
例如,可以为Q0.0 指定一个符号名MOTOR_ON,然后在程序中将MOTOR_ON作为一个地址使用。使用符号地址更容易将您的过程控制项目中的元件与程序中的元件相对应。
注意:在符号名中不允许使用两个连续的下划线,例如MOTOR__ON。
编程支持:LAD、FBD、STL中地址、参数、块名可用绝对地址或符号表示。
用菜单命令View > Display > Symbolic Representation,可以切换绝对地址和符号地址
为了使用符号地址编程更加容易,可以同时显示绝对地址和符号名。使用菜单命令 View > Display > Symbol Information来激活。这就意味着STL语句的注释包含了更多的信息。不能在该界面下进行修改,只能在符号表(symbol table)或变量声明表(variable declaration table)中进行修改。
149:S7-300/400系统存储区域共有多少种?
S7 CPU的系统存储区域分为下表中列出的地址区域。在程序中可以根据相应的地址直接读取数据。
150:如何把一个DATE_AND_TIME变量转换为STRING变量?
为了以日期/时间字符串(STRING)形式显示DATE_AND_TIME变量,必须DATE_AND_TIME 变量的专用字节转换为相应的CHAR字符。
读取DATE_AND_TIME 变量的专用字节并从这两位数所在ASCII码中创建专用位。将确定了的CHAR字符存储在字符串的期望位置。
SLD 12 SRW 4 SRD 8 L W#16#3030 + I T 数字字符年
也可以用相反顺序将一个STRING格式的日期/时间字符串转换为一个DATE_AND_TIME变量
西门子SIMATIC S7-300/400 问答大汇总
1. 怎么使用 MPI/DP-RS232
问:我要将 CPU314 与电脑连接通信应该怎么办?是否用 MPI/DP-RS232 连接器,要怎么用啊? 答:第一步,将适配器(PC Adapter)与 RS232 电缆相连。适配器的 MPI/DP 口插入 CPU
的编程口,RS232 电缆与 PC 的串口连。
第二步,进入"开始"->"设置"->"控制面板"->"SET PG/PC Interface"。点选
“ Access Point of the Application ” =S7ONLINE ( STEP7 ),“ Interface Parameter
Assignment”=PC Adapter (MPI)。
第三步,点“Properties”进入属性设置,MPI 设置内容:选中“PG/PC is the only master on the bus”,其余内容沿用默认值,或根据 CPU 的状态变更。
Local Connection 设置:COM Port=硬件连接的串口,Transmission Rate=PC Adapter 的 拨码位置。 确认后退出设置,如果上下位机参数一致的话,此时连机就会成功。
2. IW 和 PIW 有什么区别
问:STEP7 在实际应用中 IW 和 PIW 有什么区别?
答:我个人理解:对于没有相应的映像缓冲区的输入地址,一定采用 PIW 指令,而一般外 设输入地址,都是没有映像缓冲区的。对于有映像缓冲区的输入地址,一般使用 IW,表示 取映像缓冲区内数据,但也可用 PIW,表示直接取地址内的数据而非映像缓冲区的数据, 相当于立即读取。对于输出亦是如此。
3. 模拟信号接地问题
问:我用的 SM331 8*12bit 模块信号有时正常有时不正常,后来我把 COMP-跟信号的 M- 接起来就好了,但我同时发现他们之间接电容也可以,是怎么回事??模块的 COMP-端、 各信号的 M-端和模块 24 伏供电的 M 端之间电气上有什么关系??
答:对隔离输入模板,.摸板参考地 Mana 与 CPU 的电源地 M 没有电连接。因此 Mana 与
M 有电位差时,必须采用隔离输入模板。但是,如果电位差超过 Eiso,则必须建立 Mana
与 M 之间的连接。对 SIEMENS 的模板,Eiso=75VDC 或 60VAC。
对非隔离输入模板,则必须建立 Mana 与 M 之间的连接。 为抑止信号地 M-与 Mana 之间 的共模干扰,不同传感器的接地方式不同,限于篇幅以及图解困难,难以细说。一般原则是, 建立信号地与模板的地、模板地与(CPU)系统地的连接。如果有干扰环流,则将取消模 板地与系统地的连接,让模拟地悬浮。另外,屏蔽推荐双端接地,如果有干扰环流,则改为 单端。
4. cp342-5 的放置位置有要求吗?放在轨道的什么地方最合适
问:cp342-5 的放置位置有要求吗?放在轨道的什么地方最合适?
答:CP342-5 工作原理是, 首先通过硬件配置将各 DP 子站的分布 I/O 映射到 CP342-5 的内 存,然后再通过 FC1(DP_SEND)、FC2(DP_RECV)实现 CPU 与 CP342-5 的数据交换。数据 传递的过程如下:
CPU 内存————->CP342-5 ——————->DP 子站的输出
CPU 内存<————-CP342-5 <——————-DP 子站的输入
程序中我们控制的只是 CPU 与 CP342-5 之间的通讯,而子站与 CP342-5 的数据交换是由
CP342-5 根据硬件配置自动完成的。
关于 cp341 与 MM440 通讯
问:我用 s7-300(cp341)与 MM440 的 com 口(29 30)通讯控制变频器
2 个 PZD,4 个 PKW 具体参数设置如下:
P003=3;P700=5;P11=1;P13=4;其他参数采用工厂设置。
仿照 USS-S7 中的例程进行编程;但是只能向变频器发送 PZD 参数(控制字 1 和主设定值), 但不能返回任何参数。CP341 的指示灯只显示不断发送,接受灯不亮。
在数据块 dbnd(DB100)中的 DBW6(通讯状态字)的值为 0200;DBW8(通讯故障字) 的值为 0080;不知是什么意思?
答:CP341(RS422/485)采用(RS485)ASCII 码协议。CP341 如果采用手册中的接线 方式(11+,4-)则 cp341 的接收发送灯同时亮,但是不能进行数据传输;如果接线为(9+,
2-)则出现前述情况,即只能向变频器发送 PZD 参数(控制字 1 和主设定值),但不能返回 任何参数。
如果你只接了 9、2 的话,现象则说明你的参数设置没有问题。在 4 线方式下,9、2 是发送 端。11、4 是接受端,没有接线自然没有数据返回。
对 MM440 应该用 2 线方式,接线是
11(CP341)————-29(mm440)
4(CP341)————-30(mm440)
且 2 与 4、9 与 11 要短接,你接了吗?
此外,在 PKW 中你的任务识别标记 ID 和参数号填对了吗?
5. 315-2DP 与 ET200M 问:通过 DP 相连,CPU 地址为 2,ET200M 地址为 5,硬件上地址设置正确。 在项目管理器 里把软硬件组态好了以后,把 SIMATIC300 STATION 传给 PLC,显示 SF 错误,ONLINE 情况下, OB1 不运行。
如果把 HARDWARE 再传一遍,则 SF 错误无,OB1 可运行,现在再把 SIMATIC300 STATION
传给 PLC,则重新有 SF 错误。
我原来以后,把 SIMATIC300 STATION 传给 PLC 一次,相当于软硬件组态都传一次,请 问各位高手,这样正常吗?
答:我想楼上的各位可能没有看清楚 royal 的问题:他通过 HARDWARE 下载+OB 下载, 没有问题,这样可以排除是组态和程序的问题。他只有在用 STATION 下载时才出现故障,
SF 灯亮。所以原因不是很明确。
我个人认为是不是 royal 并没有将 HARDWARE 进行“编译保存”,因此他的程序块内没有
“SYSTEM BLOCKS”,所以才出现他所说的现象。请 royal 在试一试!
6. S7-300PID 的 FB41CONT_C 功能及参数设定
问:请教各位高手,本人现用到西门子 S7-300(CPU315)做整流系统的 PID 控制,具体 是由 AI 模块输入 4-20MA 信号(既 A 柜/B 柜饱和电抗器控制电流信号反馈和机组 A 柜/B 柜直流电流信号反馈),通过 CPU 调用 PID 功能块,实现自动闭环控制,最后由 AO 模块 输出一个 4-20MA 的信号给稳流系统(既 A 柜/B 柜电流给定反馈)。
现请教:1、具体应调用 S7 的 PID 中的哪些功能块。我是直接在 OB1 里边调用 FB41,不 知可否。
2、PID 标准块 FB41 的输入输出参数如何整定,PV_PER、SP_INT、PV_IN 有何区别。
3、GAIN、TI、TD 如何整定。
4、MAN_ON、PVPER_ON 怎么用,是直接在 FB41 的输入端写吗?
答:原理上,PID 的调节节奏应该与其采样周期一致,这是数学模型应与物理过程一致的要 求。这也就是 FB41 要在 OB35 中周期调用且 OB35 的周期要与 FB41 采样周期一致的原因。
当然,在 OB1 或其他 FC、FB 中调用 FB41 也是可以的,此时最好将 OB1 参数区中扫描周 期作为 FB41 的采样周期。
本人在管道恒流恒压的 PID 过程控制中,也曾在 FC 中无条件连续调用 FB41,PID 效果也 还令人满意。我个人认为,精度要求不高的应用中,简单调用也是可以的。
FB41 参数的设置很灵活,可根据自己的习惯或应用的方便选择。下面是一种方式。
MAN_ON :激活 PID 手动调节给定值 MAN 的使能位,可用 PID 手自动转换位来触发。 PVPER_ON :是 PID 输入输出参数“PERIPHERAL 化”的使能位,即将参数看成 0~27648 之间的整数。换个说法,就是 PID 的反馈值直接取自相应 AIW 通道,而 PID 输出则直接给 出到 AQW 通道。参数整定由 FB41 完成。可用调节装置的启动标志来触发本位。
MAN :PID 手动调节给定值,当“MAN_ON=1”时有效。
CYCLE :采样周期。根据物理量变化快慢定,一般要求与 FB41 执行的周期一致。
SP_INT:PID 的设定值。注意设定值与反馈值的单位一致。为了避免错误,建议将 SP_INT
转换为-100.0~100.0%之间无量纲的百分数,输入到 FB41 时,注意只取百分号之前的数即可。
PV_PER:PID 过程的反馈值,直接取自反馈量的 AIW 通道的 A/D 码。仅在“PVPER_ON=1”时有效。 GAIN:比例系数。 TI:积分时间。 TD:微分时间。
LMN_PER:PID 的调节输出,直接对应调节输出 AQW 通道。
设置了上述参数,基本的 PID 调节就可以实现了。根据需要再完善其他参数的设置,比如 死区的设定等。
利用 STEP7 中的 PID 赋值工具可形象快捷地完成参数设置,结果直接存入相应背景数据块,
FB41 调用时无须再赋值。
7. 除 300 中的密码
问:我在使用 CPU313C-2PTP 时,往 PLC 里下了一个程序,开始还好使,可下载了几次之后, 竟然要求密码!本人申明,程序没加密,而且本人还不知如何加密!请问大虾, 如何清空
PLC 的程序而不需要密码?
答:你需要对 MMC 卡进行格式化操作。格式化过程如下:
1. 将开关置为“MRES ”位置,并保持,直至 LED 停止闪亮(即直至大约 9 秒钟后永亮 着)。
2. 在随后的 3 秒内,释放开关,并再次切换为“MRES ”位置。STOP LED 现在闪亮, 指示正在进行格式化。
一定要使用规定的操作顺序。否则,MMC 就不能进行格式化,而是返回存储器复位状态。 我建议你在 http://www.ad.siemens.com.cn/download/manual/as.asp 上下载 S7-300C 的所有资料仔 细读一读 才进行以 上操作, 在《 S7-300 可编程控制器 CPU 312C 至314C-2DP/PtP CPU 技术参数》一书上有此操作的详细说明,并有注意事项!请注意。
8. 00 的 L 指令
问:L 指令装一个立即数(常数)到 ACCU1L 1 如何表达我这个装入的数是 Byte? Word? DWord? S7300 还未入门,请高手指教!
答:在装入的时候,如果被装入的数太短,达不到 4BYTE(大多情况这样),则在装入的 时候,会自动填 0而在取出的时候,如果目标是 4BYTE,则全盘复制,如果短了,就只复制需要的长度,另外的就被抛弃了,其实被抛弃的部分一般是 0 的,编程时候需要知道的。 比如 L L#16#,这是一个 32 位的 DWORD然后 T MW0,长出的部分被丢掉,最终 MW0 的内容为 16#0304 除非有意这样做,否则做之前是要保证数据没有溢出的。否则计算就乱套了。 反过来,L 16#FFFE (INT -2)T MD0则 MD0 的值为 L#16#0000FFFE (DINT 65534) 数据虽然没有溢出,但数据格式不能继承了。 这种时候,分别需要 DTI 和 ITD 命令进行转换。
至于 200 里面的 MOVB,MOVW,MOVD 等的命令,我想,在 300 里面它是自动的,根据目 标数的尺寸,自动实现不同的 MOVE 功能,与 200 对应。
9. SB 接口和 S7-200 及 S7-300 连接的体会 我最近换了一个新笔记本,没有串口,最后发现它不能和 S7-200 及 S7-300 连接,急得我
只冒汗(差一点儿吐血了),不过最终都搞好了,现把我的体会说一下,以供大家参考。
S7-200 连接过程:
1:安装 200 软件,连接,不行。
2:在本网站上下载延时补丁程序,安装后连接,不行。
3http://www4.ad.siemens.de/WW/llisapi.dll?func=ll&objAction=csView&lang=en&objId=7
843251 下载了一个延时程序,安装,行!
S7-300 连接过程(版本为 step7-5.2):
1:安装 300 软件,连接,不行。
2:查看各种资料、检查各种设置、咨询各种人员、连接,不行。
3:最后安装 windows2000 的补丁程序(SP2),连接,行(好高兴啊!) 综上所述:
1:先要保证你的 USB 口转串口在硬件上和软件上(就是驱动)没有问题。
2:200 要下载能解决问题的延时补丁程序。
3;300 要下载合适的电脑操作系统的补丁程序。
10. lc 程序的下载问题
问:在一个网络中(比如 profibus),有多个 plc,在 step7 中硬件组态中也有 多个 plc,所编程序是整个网络系统的程序,那么程序下载的时候,如何确定哪 些程序被下载到哪一个 plc 中?
答:MPI 网络中多个 CPU(S7-300/400)及 HMI PANEL(WINCE BASED)的程序下载
1. 按照你所需要的网络,完成硬件安装及通讯线的连接.
2. 对所有的 CPU,默认地址都是 2,所以可以分别上电,下载硬件配置与程序.
3. 对于 PANEL 可以通过其控制面板的 S7-TRANSFER 设置网络地址,然后通过 MPI 网络直接 下载 PANEL 的组态程序.注意,此时 S7-TRANSFER 中的 ONLY MASTER ON THE BUS 不能被 选中.
4. 当使用 CP 以点对点的方式对 PANEL 下载程序时,S7-TRANSFER 中的 ONLY
MASTER ON THE BUS 必须被选中. 11. 300 中,如何实现 S7-200 中 SM0.3 的功能
问:在 S7-300 中,如何实现 S7-200 中 SM0.3 的功能?:即开机后进入 RUN 状态,ON 一个 扫描周期,请各位赐教. 答:你必须在 OB100 中调用 SFB21 “RESUME”,原理及注意事项如下。
If there is a rising edge at control input REQ, SFB 21 "RESUME" activates a hot restart on the remote device selected with the ID.
The following conditions must be met if the remote device is a CPU:
1、The CPU must be in the STOP mode.
2、The key switch of the CPU must be set to "RUN" or "RUN-P."
3、When you created the configuration with STEP 7, you allowed for a manual hot restart.
4、There must be no condition preventing a hot restart. Once the hot restart has been completed, the device changes to the RUN mode and sends a positive execution acknowledgement. When the positive acknowledgement is evaluated, the status parameter DONE is set to 1. Any errors that occurred are indicated in the status parameters ERROR and STATUS.
A restart can only be activated again in the same remote device after the previous hot restart has been completed. 12. 关于 IM153-2 配置
问:我的 S7-400H 系统中 IM153-2 的定货型号是 6ES-0XA0,但是在 S7V52 中 HW CONFIG 里无法找到此型号的模块,请问是不是最新产品 在如何硬件配置里如何处理?
答:由于是冗余配置,6ES-0XA0 是由两块 6ES-0XB0 组成。硬 件配置时插入 6ES-0XB0。
13. 一些奇怪的问题
问:1、能不能用 WINCC 直接控制 ET200S?不用任何 PLC,系统的功能很简单,算法在 WINCC 中实现。现在的问题是 WINCC 能直接控制 ET200S 吗?(我在一个系统看到这样 的结构,不知道能不能实现)
2、SFC15,SFC16 在读写智能从站时用,超过 4 个 BYTE 的话就需要 SFC15,SFC16? 如果我一个一个字节读的话(读很多个)是不是就没有这个限制了。
答:请注意:S7-200 与 ET200S 是两个不同的东东。
ET-200S 与 WINCC 连,方法:
1、带 CPU 的 IM151+CP5611,原理过程与 S7-300 类似;
2、如 SHINE 所说,cp+SIMATIC NET,原理过程与连 EM277 类似。通过 COM_PROFIBUS 将 CP 定义成一类主站,并组态相应从站,从而实现对从站数 据的读写。如果有逻辑的话,需借助脚本语言。
14. TP270 支持哪几种印表机
问:TP270 支持哪几种印表机?你有具体的型号吗,另外在那能下载 OP270,TP270 的手 册。
答:MP270,TP270,OP270 功能相近,资源配置略有差别。根据所配硬件,与打印机的 连接有三种方式:RS232、以太网、USB。其操作系统都是 WINDOWS CE,因此所支持 的打印机与普通 PC 一样。如果通过以太网连打印机,则注意所买打印机必须支持网络打印。 下列标准是支持的串行打印机:
&#8226; 与 ESC/P、9 针 ESC/P 或 ESC/P2(EPSON)兼容 例如 EPSON FX850
&#8226; 与 PCL3 (Hewlett Packard)兼容
HP LaserJet 5M
USB 打印机仍可用于 PCL 和 Epson9 模式
15. 两个 315-2DP 通过两个 CP343-1 通讯,如何设置成主站和从站? 问:请问两个 315-2DP 通过两个 CP343-1 通讯,如何设置成主站和从站?
答:CP343-1 是以太网卡,卡本身无所谓主从,因为以太网不是主从通讯机制。只有主从 机制的网络如 RS485 网,典型的有 PROFIBUS-DP,MPI,MODIBUS 等才分主从站。
两 CP343-1 通讯,用 FC5(AG_SEND),FC6(AG_RESV)即可。具体某站用哪个函数,
就看它是 读数据还 是写数据 。对 CP443-1 而言, 则用 FC50 ( AG_LSEND ),
FC60(AG_LRESV)。
16. 300PLC 中处于 STOP 状态应当执行什么 OB 问:300PLC 中处于 STOP 状态应当执行什么 OB?
答:300PLC 中采用事件触发 OB 来执行一些事件,比如通讯错误会使 PLC 处于 STOP 状 态而执行 OB87。如果程序正常,我手动使它处于 STOP 状态,PLC 会执行啥 OB?
stop 状态只有系统软件在运行,你所编的 step7 程序不会运行的
17. 内部 DB 位的问题
问:在制作警报时,我使用了 DB14,按位进行检查,每一个是单独的置位,然后对整个双字进 行相关警报信息换算, 现在在 DB14.DBX2.7,DB14.DBX10.7,这两个位出现了异常,在 LAD 中 被作为线圈输出,当被置位时,他俩为 0,在非置位是却是为 1.和应该出现的位的现象相反, 但其他位都正常,后来只有换掉这两个位,以前用 DB1 也有出现这个情况 DB1.DBX2.7, 后来 也是换掉的! 请各位指点。
答:这段程序是实现集中报警很好的办法。 有新报警,则报警。但如有旧报警消失,则不反应。 不要使用双整数进行比较,而要使用
word,但运算符号为双字的
18. S7-300 中的 FC105 模块中的 27648 是如何得来的?
问:S7-300 中的 FC105 模块中的 27648 是如何得来的?
答:C00 SIEMENS 自己定义的,在其之上到 65535(7ffff),是非线性段,可以 使用,但精度差点。
19. 关于 GD 通信问题!
问:我想用 MPI 连接两个 CPU315 和 CPU313,采用 GD 通信方式。书上说,step7 里的 option
项下的 define Global data 是灰的,不能用。请问谁知道是怎么回事?我用的 step7 版本是
5.1。是不是缺补丁?还是我用的不对?盼回音!
答:CPU 的 MPI 必须为“YES”,再组态 MPI 总线即可。
20. 此站可以用彼站的数据进行程序处理吗?即如何读写远程 CPU? 问:我的意思是许多车间挂在一个 PROFIBUS-DP 总线上,现在一个车间 A 与另一个车间
B 很远,车间 A 的 STEP7 程序想调用车间 B 的数据块比如 DB1.DBD0 和 I1.2,怎么调用? 我 听说可以用 SFB14,SFB15 读写远程 CPU,是怎么读写的??希望哪位大侠帮助指导一下.谢谢 了。
答:你所想的其实就是通讯。主从形式的通讯。 其实并不好。除了上位机和编程器之外, 这样用到的很少。 因为对于处于从属位置的 plc,控制显得乱,程序读起来有些无所适从。
21. 关于 H 系统和 315 相连
问:诸位大侠,如果我想将 cpu315 连上 H 系统的网络,通过以太网可以吗?即直接在 315 上面加一个 343-1 接到交换机,能实现与 H 的 CPU 通讯和切换吗?因为不是太清楚,特请 教。
答:有两种方法:1.在 DP 上用 Y—LINK 将 CPU315 挂在上面,2。用以太网与 H 系统相联, 切换需编程。
22.存储卡的使用方式
问:存储卡的使用方式有几种,区别是什么,常用那种;为什么一开始存储卡好像不起作用, 操作一次后好像才有用,断电重启会读取存储卡内容,如何清空存储卡让其恢复出厂设置;
300 和 400 是否都是这样;谢谢回复!
答:目前 S7-400 可以扩展二种存储卡,RAM 和 FLASH EEPROM。
前者必需要电池,我常扩展 RAM,在线调试比较方便,但不利于维护。如果使用 FLASH EEPROM 最好也要加电池,但如果经常需要修改程序就不方便了。
老 S7-300 只能用 FLASH EEPROM,不能在线修改程序;新 S7-300 用的是闪存,可以在线修 改程序。 FLASH EEPROM 的清空只能用编程器。 存储卡使用方式是“拷贝程序到存储卡和拷贝工程项目到存储卡”这两个通常用那种SAVE TO MEMORY CARD 是在编程器的 MEMORY CARD 插槽中写 FLASH 或 EPROM DOWNLOAD USER PROGRAM TO MEMORY CARD FLASH 是插在 PLC 上的。
23.控制系统方案可行吗?
问:系统中的开关量 350,模拟量 70 左右,12 个 PID 控制回路,打算采用 CPU412-2,经加 上几个 ET200M,为了省钱和接线方便,开关量和模拟量模板想尽可能挂在 ET200M 上,有三 个问题请教:1、ET200M 最多只能挂 8 个模板吗?2、采用 3 块 FM355C 挂在 ET200 上还是选用 FM455C 挂在 CPU 上?那种模块更好,用些编程方便?3、用 FB41 比用 FM355 和 FM455C编程是不是麻烦些?
答:1、1 个 ET200M 站最多挂 8 个模板,也就是 1 个 IM153 后最多可界挂 8 个模板。 2、FB41 最经济,FM355C 其次,FM455C 贵。如果要求不高,推荐用 FB41,编程不复杂。FM355C、FM455C 是可以独立于 CPU 单独工作的控制模块,功能强,响应快,不受 CPU 负荷多少等因素的影响。
24. SFC14 读取 DP 从站数据与用 L 指令读从站的输入镜像区两种方法的区别
问:SFC14 读取 DP 从站数据与用 L 指令读从站的输入镜像区两种方法的区别是什么? 除了 以上问题外,还想问一下 consistent data 这个名次是什么意思?
答:1.在 STEP 7 中的 I/O 存取指令 L,T 不允许用单字节、单字或双字命令去存取具有 3 个或大于 4 字节的相连续的 DP 数据区域(模块)。为了存取这种封闭结构的连续的数据区域, 只能使用 SFC14/15 来使用。
2.不一样,如果你的 DP 从站的地址用的是过程映像区的地址,就没有必要使用 SFC14/15, 只要和普通的 I/O 一样访问就是了,S7-300 是在 0-127 之内。
但如果使用的是外设通道,就有一致性的区别,如果是字一致性,你在访问 PID256 时,就 有可能被中断,PIW256 和 PIW258 的内容不是同步刷新的。而区域一致性的地址只能用 SFC14/15 访问,而且在访问这个连续地址时是不允许被中断的,其内容是同步刷新的。
3.判断一个地址是在过程映像区还是外部输入很简单,双击打开 DP 从站的 I/O 属性,看其 process image 属性,如果是 OB1 PI(对于 S7300,只有一个映像区,S7400 则不然),那 么从站的地址就是在过程映像区里的。如果 process image 属性为空,则属于外部输入。通 常,模块的一致性选择为 BYTE ,都放在过程映像里。一致性为 WORD 或 UNIT 等等,地址都 是外部输入。
以上为我个人的看法,请大家讨论。
25. 关于 SFC20 bit move 为什么出错 问:CALL "BLKMOV" SRCBLK :=P#M 0.0 BOOL 5
RET_VAL:=MW100
DSTBLK :=P#M 20.0 BOOL 5
lw1 和 lw2 的地址冲突的。
答: 用 mw0 和 mw2 来说明: mw0 和 2# 1111 做与操作, mw2 和 2 #
0000 做与操作,再将 2 个结果做或操作,送到目标地址就可以了。
26. 两台 S7-300 用 MPI 组态方法
问:现有 2 台 314,PROFIBUS 通讯插头 2 个,一根编程电缆,一台笔记本需用 MPI 通讯传输 数据。如何连接组态,及下载程序。314 地址各是多少
答:硬件先连好,然后分别上电下载程序即可. 27. S7-400 Work Memory 空间问题
问:S7-400 Work Memory 空间问题 ,使}

我要回帖

更多关于 sm总线控制器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信