FM357-2调试笔记
(整理)收音机调试步骤及调试方法

收音机调试步骤及调试方法一.AM、IF中频调试1、仪器接线图扫频仪频标点频率为:450KHZ、455KHZ 、460KHZ或460KHZ、465KHZ 、470KHZ。
扫频仪1、检波输出2、3正负电源4、RF信号输入5、检波输入(INPUT)6频标点信号输入(PUISE INPUT)7、水平信号输入(HOR、INPUT)2:测试点及信号的连接:A:正负电源测试点(如电路板中的CD4两端或AC输入端)正负电源测试点从线路中的正负供电端的测试点输入。
B:RF射频信号输入(如CD2003的○4脚输入)。
RF射频信号由扫频仪输出后接到衰减器输入端,经衰减器衰减后输出端接到测试架上的RF输入端,在测试架上再串联一个10PF的瓷片电容后,从电路中的变频输出端加入RF信号将AM的振荡信号短路(即PVC的振荡联短路),或将AM天线RF输入端与高频地短路,(如CD2003○16与PVC地脚短路。
)C:检波输出端(如CD2003○11脚为检波输出端)从IC检波输出端串一个103或104的瓷片电容接到测试架上的OUT输出端。
再连接到显示器前面的INPUT端口上以观察波形。
3.调试方法及调试标准将收音机的电源开关打开并将波段开关切换到AM波段状态,调整中频中周磁帽使波形幅度达到最大(一般为原色或黄色的中周),并且以水平线Y轴为基准点,看波形的左右两半边的弧度应基本对称,以确保基增益达到最大、选择性达到最佳。
如图标准:波形左右两边的弧度基本等等幅相对称,455KHZ频率在波形顶端为最理想,偏差不超过±5KHZ。
如果中频无须调试的,则经标准样机的波形幅度为参考,观察每台机的波形幅度不应小于标准样机的幅度的3-5DB,一般在显示器上相差为一个方格。
二、FM IF中频调试1、器接线图①扫频仪频率分别为10.6MHZ,10.7MHZ,10.8MHZ至少三个频率点。
1、检波输出2、3正负电源4、RF信号输入5、检波输入(INPUT)6频标点信号输入(PUISE INPUT)7、水平信号输入(HOR、INPUT)②测试点及信号连接;A:正负电源测试点(如电路板中的CD4两端或AC输入端)正负电源测试点从线路中的正负供电端的测试点输入。
收音机调试方法.

外差式收音机的统调一、什么是外差式收音机的统调一台收音机如果装配无误,工作点调试正确,一般接通电源后就可以收到当地发射功率比较强的电台。
但即便如此,也不能说它工作得就很好了,这时它的灵敏度和选择性都还比较差,还必须把它的各个调谐回路准确地调谐在指定的频率上,这样才能发挥电路的工作效能,使收音机的各项性能指标达到设计要求。
对超外差式收音机的各调谐回路进行调整,使之相互协调工作的过程称为统调。
表4-4-2:各调谐回路的谐振频率调谐回路调整元件谐振频率备注输入回路C1a微调535kHz 双连全部旋进(逆时针旋到底)1605kHz 双连全部旋出本振回路C1b微调1000kHz 双连全部旋进(逆时针旋到底)2070kHz 双连全部旋出第一中放T3磁芯465kHz第二中放T4磁芯465kHz假设我们要接收中波低端的一个台,其频率为535kHz,当然,输入回路(磁性天线T1和电容C1a)得调到535kHz上。
那么,本机振荡回路(T2和C1b)的谐振频率又应该调在何处呢?如前所述,根据超外差式收音机的工作原理,本振频率总是应该比输入回路的谐振频率高出一个中频(即465kHz),也就是说,这时的本振频率应该是1000kHz.。
当我们想接收高端1605kHz的电台时,这时输入回路和本振回路的频率则分别应该调谐在1605kHz和2070kHz上,这样,我们每接收一个电台,就得同时调整两处,也就是分别转动两个可变电容,这是很麻烦的,实际上我们是将C1a、C1b做成同轴双连,使调台更方便。
这样,C1a、C1b就有个保持步调一致的问题,也就是要求双连转到任一角度都要保证输入回路和本振回路的谐振频率都应相差一个中频,这就是统调工作要达到的目的。
另外,两只中周也要准确地调到465kHz上。
统调后各调谐回路的谐振点见表4-4-2。
二、怎样进行统调统调工作要用到高频信号发生器这样的仪器,高频信号发生器像一个小小的电台,可以发出各种不同频率的信号,作为校正各个调谐回路的标准。
FW357使用手册

快速常规信号输入卡FW3571基本说明FW357快速常规信号输入卡为8路点点隔离的多量程电压、电流信号输入卡,一块卡件可以实现多种量程信号的采样。
可调理的信号包括:(0~500)mV、(-500~+500)mV、(0~1)V、(-1~+1)V、(0~2.5)V、(-2.5~+2.5)V、(0~5)V、(-5~+5)V、(1~5)V、(0~10)V、(-10~+10)V电压信号和(0~10)mA、(-10~+10)mA、(4~20)mA、(0~20)mA、(-20~+20)mA电流信号。
通过配套相应的端子板和配电模块,卡件具有外配电功能,能提供路路隔离(隔离电压为250V AC、250VDC,60s)的配电电压。
在外配电的情况下,每一路均具有独立的输出短路保护功能。
FW357具备快速采样功能,通过跳线设置,采样周期可在50ms和200ms间切换。
卡件的前端面板有一组面板指示灯和一个按钮开关。
指示灯用于指示卡件的工作状态;按钮开关用于卡件的热插拔,在插拔卡件前,先按住此按钮。
卡件后端接有64脚的欧式插针,用于卡件的供电、与数据转发卡的数据交换以及模拟信号的输入等。
2性能指标表 2-1 FW357性能指标型号FW357电源5V电源(5~5.3) VDC,Imax<150mA供电24V电源(24±0.7) VDC,Imax<10mA(不配电)配电电压(24±1)V配电通道短路保护电流(23±2)mA技术指标通道数8路通道隔离方式点点隔离现场侧与系统侧 500V AC,50Hz,60s隔离电压通道间 250V AC,50Hz,60s扫描运行周期 50ms/8和200ms/8通道可选电压(0~500) mV、(-500~+500)mV、(0~1)V、(-1~+1)V、(0~2.5)V、(-2.5~+2.5)V、(0~5)V、(-5~+5)V、(1~5)V、(0~10)V、(-10~+10)V信号类型电流(0~10) mA、(-10~+10) mA、(0~20) mA、(-20~+20)mA、(4~20) mA电压±0.1%FS精度电流±0.2%FS电压 1MΩ输入阻抗电流 250Ω(4~20)mA 断线自检≤500ms 信号断线自检(1~5)V 断线自检≤1s输入信号有效性检测及报警无输入信号超出量程范围检测及报警指示信号输入错误通信故障自检与报警指示通信中断,数据保持2采集通道故障自检与报警 指示模块自检错误共模抑制比120dB 串模抑制比 60dBEMC 指标抗电快速脉冲群干扰 满足IEC 61000-4-4(GB/T 17626.4) 抗浪涌冲击干扰 满足IEC 61000-4-5(GB/T 17626.5) 其它存储和运输温度 (-40~+80)℃ 工作温度 (0~50)℃工作湿度 (10~90)%,无凝露 工作大气压 (62~106)kPa存储湿度(5~95)%,无凝露3 接口特性卡件处理标准电压、电流信号的接口电路如下图所示。
FM357_2伺服控制器与机器人的应用

【58】第30卷第10期2008-10FM357-2伺服控制器与机器人的应用左世慧(北京机械工业自动化研究所 机器人中心,北京 100011)摘 要:文章简单介绍了FM357-2伺服控制器与机器人相互协调工作的实现方法,介绍了如何配置FM357-2伺服控制器模块。
关键词:伺服;PLC;FM357-2;机器人中图分类号:TP391文献标识码:B文章编号:1009-0134(2008)10-0058-04Application of FM357-2 Multi-Axis module for servo and robotZUO Shi-hui(Beijing Research Institute of Automation for Machinery Industry, Beijing 100011, China)Abstract: A practical method of FM 357-2 Multi-Axis Module works with the Robot, and introduce themeasure of configuring the FM 357-2 Multi-Axis Module for Servo.Key words: servo; PLC; FM357-2; TP270; robot收稿日期:2008-08-20作者简介:左世慧(1968-)男,北京人,工程师,主要研究方向为电子技术。
0 引言本系统由PLC、伺服控制器为核心,与伺服电机、提升机、机器人组成一套自动上下料的自动化控制系统。
1 用户要求用户需要上下料的工件是一种直径90mm,长度1.4m的钢管,在加工机床上要对钢管两端进行加工,同时,受加工机床卡具的限制,机器人手爪的抓取位置并不在钢管的中心位置,即机器人需要进行两次装卡,而且在第二次钢管掉头装卡的时候,需要机器人调整手爪的位置后,再将钢管放入用户加工机床的卡具中。
七管超外差式调幅收音机的调试

3、示波器测量喇叭两端输出信号1KHz正弦波。
4、调整中周B3,B4,B5直到输出波形幅值最大。
覆盖范围
• 高频端调整
1、收音机调谐拨盘顺时针调到极限位置。 2、信号发生器发载波1605kHz,调制信号 1kHz,调制深度30%,幅值300mVpp的调幅 波信号. 3、调整双联电容C1靠线路板外侧的可调电 容,直到喇叭上出现1kHz正弦波。
覆盖范围
• 低频端调整
1、收音机调谐拨盘逆时针调到极限位置。 2、信号发生器发载波535kHz,调制信号 1kHz,调制深度30%,幅值300mVpp的调幅 波信号. 3、调整红色振荡线圈,直到喇叭上出现 1kHz正弦波。
统调
• 高频段:打开收音机,接收高频段电台
(1377kHz青岛新闻台) 调整双联电容C1靠线路板内侧的可调电容 , 直到喇叭上当前电台音质音量最佳。若接 收效果不佳可以微调B3\B4\B5.
• 低频段:打开收音机,接收低频段电台
(600kHz) 调整天线线圈在磁棒上的位置,直到喇叭 上当前电台音质音量最佳
七管超外差式调幅收音机 的调试
调试前确保收音机可以正常接受电台信号, 电池电压>2.8V,最小工作电流<20mA
•接收灵敏度(中放)
•覆盖范围
(535k~1605k)
•统调
f本机振荡-f外部接收=f中放频率)
接灵敏度(中放)
• 调试元件:中周B3,B4,B5(黄白黑) • 调试方法:
1、调整收音机至无台位置
西门子S7-300从入门到精通的100个精典问题

1:使用CPU 315F和ET 200S时应如何避免出现“通讯故障”消息?使用CPU S7 315F, ET 200S以及故障安全DI/DO模块,那么您将调用OB35 的故障安全程序。
而且,您已经接受所有监控时间的默认设置值,并且愿意接收“通讯故障”消息。
OB 35 默认设置为100毫秒。
您已经将F I/O模块的F监控时间设定为100毫秒,因此至少每100毫秒要寻址一次I/O 模块。
但是由于每100毫秒才调用一次OB 35,因此会发生通讯故障。
要确保OB35的扫描间隔和F监控时间有所差别,请确保F监控时间大于OB35的扫描间隔时间。
S7分布式安全系统,一直到V5.2 SP1 和6ES7138-4FA00-0AB0,6 ES7138-4FB00-0AB0,6ES7138-4CF00-0AB0 都会出现这个问题。
在新的模块中,F 监控时间设定为150毫秒.2:当DP从站不可用时,PROFIBUS上S7-300 CPU的监控时间是多少?使用CPU的PROFIBUS接口上的DP从站操作PROFIBUS网络时,希望在启动期间检查期望的组态与实际的组态是否匹配。
在 CPU属性对话框中的Startup选项卡上给出了两个不同的时间。
3:如何判断电源或缓冲区出错,如:电池故障?如果电源(仅S7-400)或缓冲区中的一个错误触发一个事件,则CPU 操作系统访问OB81。
错误纠正后,重新访问OB81。
电池故障情况下,如果电池检测中的BATT.INDIC开关是激活的,则 S7-400仅访问OB81。
如果没有组态OB81,则CPU不会进入操作状态STOP。
如果OB81不可用,则当电源出错时,CPU仍保持运行。
4:为S7CPU上的I/O模块(集中式或者分布式的)分配地址时应当注意哪些问题?请注意,创建的数据区域(如一个双字)不能组态在过程映象的边界上,因为在该数据块中,只有边界下面的区域能够被读入过程映像,因此不可能从过程映像访问数据。
FM 350-2 调试简要说明

Siemens AG Automation and Drives Postfach 48 48 90437 NÜRNBERG
生成计数器 DB • 在 SIMATIC 管理器中,选择文件 > 打开... > 库,打开“fm_cntli”库。将数据结构 UDT 1 从 “fm_cntli”库的“块”容器复制到项目的“块”容器。 • 选择插入 > S7 块 > 数据块,将 DB 1 插入到“块”容器中。 • 打开 DB 1,使用指定的用户自定义数据类型 UDT 1 创建 DB 1。 • 单击文件 > 保存,保存 DB 1。
4
入门指南, 08/2005, A5E00432646-01
测试
对于从 STEP 7 V5.3 开始的版本,可通过单击 Mod. Addr. 按钮来调用该对话框以选择通道 DB。
调用参数分配对话框:
对于 STEP 7 V5.3 之前的版本,可通过单击对象属性中的参数按钮来调用。
从 STEP 7 V5.3 开始,可通过双击 FM 350-2 打开编程界面。单击确定关闭提示保存组态的对 话框。
器、编码器或开关以及线材等。
在编程设备中安装组态软件包 FM 350-2 组态软件包包含编程工具、必要的功能 (FC)、数据结构 (UDT 1) 以及一个示例程序。 • 将光盘放入光盘驱动器。 • 在 Windows 中,通过双击“控制面板”中的“添加/删除程序”来运行软件安装对话框。 • 单击安装...,然后运行光盘上 setup 文件夹中的“Setup.exe”,并按照安装说明操作。
收音机调试简介

收音机调试简介(1各级静态工作点的调整(详见电路图中的“装配说明”。
(2低放级调整用信号源产生1kHz、50mv左右的正弦信号,加在电容C10的负极性端,用示波器观察三极管V5的集电极和功放电路的输出端波形,应有放大的、不失真的正弦波,并测量其放大倍数。
(3变频级的本振起振调整――使振荡器起振,变频级开始工作。
判断振荡器起振的方法:用示波器观察三极管V1的发射极是否有等幅正弦波形。
其频率变化范围为990-2070kHz,以接收525-1605 kHz的电台信号。
(4中频频率的适当调整――使各中频变压器(简称中周工作在465 kHz用高频信号发生器输出465 kHz的中频调幅波(调幅度30%,调制信号1kHz,首先加到三极管V3的基极(或集电极,用无感改锥慢慢旋动中周B5的磁芯,使声音最大;然后加到三极管V3的基极(或集电极,用无感改锥慢慢旋动中周B4的磁芯,使声音最大;再加到B2和B3相连接的引脚上,用无感改锥慢慢旋动中周B3的磁芯,使声音最大;注意:上述介绍的方法仅在收音机不正常时采用,一般中周在出厂时已调好,最好不要随意调动。
收音机正常时可以用示波器观察上述调整对中频调幅波的影响,最后调回原处。
(5频率刻度调整――使收音机在规定波段内,指针所指出的频率刻度与接收到的电台频率相对应。
调整方法:把高频信号发生器两输出端接一园环天线让它发射高频调幅信号(实验室已准备好,把信号发生器拨在“高频输出”处,输出的信号强度不能调得太大,“等幅、调幅”开关对准调幅处。
第一步输出525 kHz的高频调幅信号,并把双联电容(C1A、、、C1B调到容量最大即调谐电容全部旋入(思考:如何判断容量调到最大?,用无感起子轻轻旋转振荡线圈B2的磁芯使声音最大;第二步输出1605 kHz的高频调幅信号,并把双联电容调到容量最小即调谐电容全部旋出(思考:如何判断容量调到最小?,调整振荡回路中的微调电容使声音最大。
由于上述两步的调整相互影响,所以要反复调整几次。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
●DB30 和DB 31 要分别声明为UDT1和UDT2!!!切记!!●如果出现FM357-2的NC程序出现问题,可以通过DB30.DBX108.7进行复位●将FM357-2挂在主站上是最快最为稳定的选择,如果挂在ET200m上要考虑DP通讯的延时,大概在10ms左右。
DB30.DBW4 为basic function error,可以用来查看错误代码X2驱动口接线:在OB100中调用FC1 RUN_UP(启动和初始化模块)FMDB_NO :=30FMLADDR :=256 (与硬件配置的地址相同)USERVERS:=100(用户版本,例如1.00)?????FMCOMM:=TRUE (CPU和FM357的通讯)FMSYNC_IF:=FALSE(CPU/FM357-2协同)功能?????在OB82 (IO错误时调用) FC 5 BF_DIAG(错误诊断和重启模块)在FMDB_NO处填入30在OB1中写入FC22 BFCT(基本功能和工作模式模块)FC22 功能模块(标准功能及操作模式)必须在OB1 (循环程序) 中调用, 且必须放在其他FB 模块、FC 模块之前。
每当它被调用时, 从相应用户DB 块中读出控制信号并写入FM357 , 同时, 来自FM357 的核对信号也被读出并储存在用户DB 块中FMDB_NO=30 // data block number for FM357-2 signals 驱动模块代号按照调用FB2,FB3,FB4的顺序进行调用。
FB2 READ FM-V ARIABLE 读FM参数FB3 WRITE FM-V ARIABLE 写FM参数FB4 CALL NC PROGRAMME 调用NC程序实例程序OB1CALL "BFCT" // CALL FC 22 Basic functions and operating modes of FM 357-2FMDB_NO:=30 // data block number for FM357-2 signalsA "FM1".STARTUP // Startup of first FM 357-2S "USERDB".EX4.INIT_FB4 // Example 4 initialization: FB4S "USERDB".EX5.INIT_FB2 // Example 5 initialization: FB2S "USERDB".EX5.INIT_FB3 // Example 5 initialization: FB3S "USERDB".EX6.INIT_FB2 // Example 6 initialization: FB2S "USERDB".EX6.INIT_FB3 // Example 6 initialization: FB3S "USERDB".EX7.INIT_FB2 // Example 7 initialization: FB2JC END // no user program when startup routine"FM1".STARTUP实际地址是DB30.DBX10.2(这个点由FC22进行SET 和RESET)FM357-2启动时候为“1”,成功启动后应该回复为“0”EXAMPLE4中实际应用了FB4(调用NC程序)EXAMPLE5中实际应用了FB2(写FM V ARIABLE ) 和FB3(读FM VARIABLE) EXAMPLE6中实际应用了FB2(写FM V ARIABLE ) 和FB3(读FM VARIABLE) EXAMPLE7中实际应用了FB2 (写FM V ARIABLE )// USER PROGRAM// Test modeA "FM1".PRES_TEST DB30.DBX11.0// Preselect test mode from parameterization tool= "FM1".ACT_TEST DB30.DBX11.1// Activate test mode from user programJC ENDA "FM1".CONNECT DB30.DBX10.0// Ready to communicate ?JCN END // End if not ready to communicateL B#16#26 // 100 % OverrideT "FM1".CH[1].CTR.FD_OVERR DB30.DBB106 // Feed override channel 1T "AX1".AX[1].CTR.OVERR DB31.DBB0 // Override axis 1T "AX1".AX[2].CTR.OVERR DB31.DBB100// Override axis 2T "AX1".AX[3].CTR.OVERR DB31.DBB200 // Override axis 3T "AX1".AX[4].CTR.OVERR DB31.DBB300 // Override axis 4S "FM1".CH[1].CTR.FD_OVERR_FDR DB30.DBX107.7// Path override feedrate operativeS "AX1".AX[1].CTR.ACT_OVERR DB31.DBX1.7 // Activate overrideS "AX1".AX[2].CTR.ACT_OVERR DB31.DBX101.7// Activate overrideS "AX1".AX[3].CTR.ACT_OVERR DB31.DBX201.7// Activate overrideS "AX1".AX[4].CTR.ACT_OVERR DB31.DBX301.7// Activate overrideCALL "EXAMPLE1" // Call for example 1// Other examples can be called hereEND: BEEXAMPLE4 (e.g. FC 103)This example is programmed for one channel and four axes.The signals are stored in structure "EX4" in "USERDB".●The pulse enabling signals for axes 1 to 4 are set.●The program to be selected in this example is called "PROG.MPF".The program can be selected only if it is stored in the FM.●"Automatic" mode is preset.●Set bit "CTR_EN_AAX" (controller enable) to TRUE in "USERDB" to set the controller and pulse enabling signals for all four axes.●By setting bit "START" (positive edge) you can select and start the NCprogram.The following are set internally:Parameter "REQ" in FB 4, program is selected."Start" signal for channel 1 in the user interface (A W-DB"FMx",DBX108.1)●Setting bit "CH1_RESET" starts a reset and aborts the program.If the program selection is terminated with an error, bit "ERR" is set toTRUE and error word "STATE" must be evaluated (see Table 6-12). Theprogram is not then started. Bit "ACKN_ERR" must be set to acknowledgethe error.●The movement of the axis takes place only when the bit 'feed stop' (FD_STOP)is zero ( AX1.AX[1].CTR.FD_STOP etc. ).A "FM1".CH[1].CHB.CH_RDY DB30.DBX126.5// Channel 1 ready to operate ?JCN ENDR "FM1".CH[1].CTR.REF_POINT DB30.DBX101.2 // Reset reference point approach modeR "FM1".CH[1].CTR.MODE_JOG DB30.DBX100.2 // Reset Jog modeS "FM1".CH[1].CTR.MODE_A DB30.DBX100.0// Set Automatic modeS "AX1".AX[1].CTR.PULSE_EN DB31.DBX13.7// Set pulse enable signal for axis 1S "AX1".AX[2].CTR.PULSE_EN DB31.DBX113.7// Set pulse enable signal for axis 2S "AX1".AX[3].CTR.PULSE_EN DB31.DBX213.7// Set pulse enable signal for axis 3S "AX1".AX[4].CTR.PULSE_EN DB31.DBX313.7// Set pulse enable signal foraxis 4A "USERDB".EX4.CTR_EN_AAX DB115.DBX84.0// Set controller enable for axes ?= "AX1".AX[1].CTR.CTR_EN DB31.DBX2.1// Axis 1= "AX1".AX[2].CTR.CTR_EN DB31.DBX102.1// Axis 2= "AX1".AX[3].CTR.CTR_EN DB31.DBX202.1// Axis 3= "AX1".AX[4].CTR.CTR_EN DB31.DBX302.1// Axis 4O "FM1".CH[1].CHB.MODE_A DB30.DBX120.0// Automatic mode active ?O "FM1".CH[1].CHB.ALLAX_REF DB30.DBX126.2// All axes in channel 1 referenced ?JCN ENDA "USERDB".EX4.INIT_FB4 DB115.DBX84.7 // FB4 initialization in first runR "USERDB".EX4.INIT_FB4 DB115.DBX84.7 // Reset initializationR "USERDB".EX4.FB4_REQ DB115.DBX84.4 // Request=False if first run JC CAFB // and FB callA "USERDB".EX4.START DB115.DBX84.1 // Example startFP "USERDB".EX4.HBIT1 DB115.DBX85.0 // Edge trigger flagS "USERDB".EX4.FB4_REQ DB115.DBX84.4 // Start request FB4AN "FM1".CH[1].CHB.PROG_AB DB30.DBX125.4// If program status is not interrupted, thenR "USERDB".EX4.FB4_REQ DB115.DBX84.4 // reset Start request FB4O "USERDB".EX4.DONE DB115.DBX84.5 // Request ended ?O(A "USERDB".EX4.ACKN_ERR DB115.DBX84.3 // Error acknowledgementA "USERDB".EX4.ERROR DB115.DBX84.6 // FB4 execution error)R "USERDB".EX4.FB4_REQ DB115.DBX84.4 // Reset FB4 requestCAFB: CALL "FM_PI" , "EX4_DIFB4" // Program selection (FB 4)REQ :="USERDB".EX4.FB4_REQ DB115.DBX84.4 // Start FB4 functionPISERVICE:="PI_DI".SELECT (输入类型ANY)DB15.DBX12.0 BYTE 18 // DB15 - 'SELECT' functionUNIT :=1 // UNIT: channel 1ADDR1 :="USERDB".EX4.PATH DB15.DBX12.0 BYTE 34// PathADDR2 :="USERDB".EX4.P_NAME DB115.DBX48.0 BYTE 34// Program nameADDR3 :=ADDR4 :=WV AR1 :=WV AR2 :=WV AR3 :=WV AR4 :=WV AR5 :=WV AR6 :=WV AR7 :=WV AR8 :=WV AR9 :=WV AR10 :=FMDB_NO :=30ERROR :="USERDB".EX4.ERROR DB115.DBX84.6DONE :="USERDB".EX4.DONE DB115.DBX84.5STATE :=#w_STA TE (Temp :Word)L B#16#0A "USERDB".EX4.ERROR // Error ?JCN doneL #w_STA TE // If error, entry of error status ...done: T "USERDB".EX4.STATE DB115.DBW82 // ... in USERDB// If program is selected (DONE=1), then startA "USERDB".EX4.FB4_REQ DB115.DBX84.4 // Example startFN "USERDB".EX4.HBIT2 DB115.DBX85.1// Edge trigger flag= "FM1".CH[1].CTR.START DB30.DBX108.1 // Start channel 1O "FM1".CH[1].CHB.PROG_RUN DB30.DBX125.0// Program runningR "USERDB".EX4.START DB115.DBX84.1 // Reset example startEND: A "USERDB".EX4.CH1_RESET DB115.DBX84.2// Channel 1 reset ?= "FM1".CH[1].CTR.RESET DB30.DBX108.7 // Reset channel 1// for example: Acknowledge aux. function (no type analysis of Aux. function)A "FM1".CH[1].CHB.CHANG_AUXILF DB30.DBX127.0// Aux. function modification= "FM1".CH[1].CTR.ACKN_AUXILF DB30.DBX109.0// Acknowledge aux. functionBEEXAMPLE5 (e.g. FC 104)This example is programmed for one channel and four axes.The signals are stored in structure "EX5" in the "USERDB".- WRITE V ARIABLES:By setting bit "V AR_WR" (positive edge) you can write R parameters (R 0,R 1, R 2) to the FM.If the write operation ends with an error, bit "ERR_WR" is set to TRUEand error word "STATE_WR" in "USERDB" must be evaluated(see Table 6-11). Bit "ACKN_ERR_WR" must be set to acknowledge the error.If the variable write operation ends without an error, then parameter"REQ" is reset. The values of the variables to be written are storedin structure "EX5" (symbolic name) in the "USERDB".- READ V ARIABLES:By setting bit "V AR_RD" (positive edge) you can read the following FMvariables:- Setpoint position (channel 1, axis 3)- Setpoint velocity (positioning axis) (channel 1, axis 3)- R parameter (R 1)- Path overrideIf the variable read operation ends without an error, then parameter"REQ" in FB2 is reset. The values of the read variables are stored instructure "EX5" (symbolic name) in "USERDB".If the read operation ends with an error, bit "ERR_RD" is set to TRUEand error word "STATE_RD" in "USERDB" must be evaluated(see Table 6-9). Bit "ACKN_ERR_RD" must be set to acknowledge the error.A "USERDB".EX5.INIT_FB3 DB115.DBX119.3 // FB3 initialization in first runR "USERDB".EX5.INIT_FB3 DB115.DBX119.3 // Reset initializationR "USERDB".EX5.FB3_REQ DB115.DBX118.3 // Request=False if first runJC CAF3 // and FB callDB115.DBX119.3在OB1 中FM357-2启动的时候置位A "USERDB".EX5.V AR_WR DB115.DBX118.0 启动!// Request startFP "USERDB".EX5.HBIT2 // Edge trigger flagS "USERDB".EX5.FB3_REQ DB115.DBX118.3 // Start request FB 3O "USERDB".EX5.DONE DB115.DBX118.0 // Request endedO(A "USERDB".EX5.ACKN_ERR_WR // Error acknowledgementA "USERDB".EX5.ERR_WR // FB3 execution error)R "USERDB".EX5.FB3_REQ DB115.DBX118.3 // Reset FB3 requestR "USERDB".EX5.V AR_WR // Reset request startCAF3: CALL "FM_PUT" , "EX5_DIFB3" // CALL FB 3REQ :="USERDB".EX5.FB3_REQ // Start functionNUMVAR :=3 变量的数量// Number of variablesADDR1 :="V AR_ADDR".R_PARAM Structure of R parameter // Structure of R parameter DB121.DBX30.0 BYTE 10在DB121中存了不同的变量对应的结构!!要修改什么,将相应的结构填入!!UNIT1 :=B#16#1 UNITx: channel 1// UNITx: channel 1COLUMN1:=LINE1 :=W#16#1 LINEy: Number of R parameter + 1// LINEy: Number of R parameter + 1ADDR2 :="V AR_ADDR".R_PARAMUNIT2 :=B#16#1COLUMN2:=LINE2 :=W#16#2ADDR3 :="V AR_ADDR".R_PARAMUNIT3 :=B#16#1COLUMN3:=LINE3 :=W#16#3ADDR4 :=UNIT4 :=COLUMN4:=LINE4 :=ADDR5 :=UNIT5 :=COLUMN5:=LINE5 :=ADDR6 :=UNIT6 :=COLUMN6:=LINE6 :=ADDR7 :=UNIT7 :=COLUMN7:=LINE7 :=ADDR8 :=UNIT8 :=COLUMN8:=LINE8 :=FMDB_NO:=30ERROR :="USERDB".EX5.ERR_WRDONE :="USERDB".EX5.DONESTATE :=#w_STA TESD1 :="USERDB".EX5.VAL_RPARAM_0 发送源1!SD2 :="USERDB".EX5.VAL_RPARAM_1 发送源2!SD3 :="USERDB".EX5.VAL_RPARAM_2 发送源3!SD4 :=SD5 :=SD6 :=SD7 :=SD8 :=L B#16#0A "USERDB".EX5.ERR_WR // Error ?JCN MA01L #w_STA TE // If error entry of error status ...MA01: T "USERDB".EX5.STA TE_WR // ... in USERDB// READ FM V ARIABLES (FB 2)A "USERDB".EX5.INIT_FB2 // FB2 initialization in first runR "USERDB".EX5.INIT_FB2 // Reset initializationR "USERDB".EX5.FB2_REQ // Request=False if first runJC CAF2 // and FB callA "USERDB".EX5.V AR_RD // Request startFP "USERDB".EX5.HBIT1 // Edge trigger flagS "USERDB".EX5.FB2_REQ // Start request FB 2A "USERDB".EX5.NDR // Request ended - 'new data receive'O(A "USERDB".EX5.ACKN_ERR_RD // Error acknowledgementA "USERDB".EX5.ERR_RD // FB2 execution error)R "USERDB".EX5.FB2_REQ // Reset FB2 requestR "USERDB".EX5.V AR_RD // Reset request start// Explanation of variables used:// ADDR1 := V AR_ADDR.SET_POSITION // Structure of set position// UNIT1 := B#16#1 // Index: channel 1// LINE1 := W#16#3 // Index: axis 3// ADDR2 := V AR_ADDR.CMD_FRATE // Structure of command feedrate (positioning axis)// UNIT2 := B#16#1 // Index: channel 1// LINE2 := W#16#3 // Index: axis 3// ADDR3 := V AR_ADDR.R_PARAMETER // Structure of R parameter// UNIT3 := B#16#1 // Index: channel 1// LINE3 := W#16#2 // Index: number of R parameter + 1 // ADDR4 := V AR_ADDR.PATH_OVERR // Path override// UNIT4 := B#16#1 // Index: channel 1CAF2: CALL "FM_GET" , "EX5_DIFB2" // CALL FB 2REQ :="USERDB".EX5.FB2_REQ // Start function FB 2NUMVAR :=4 // number of variablesADDR1 :="V AR_ADDR".SET_POS // structure of fm variableUNIT1 :=B#16#1 // UNITx: channel 1COLUMN1:=LINE1 :=W#16#3 // LINEy: number of variableADDR2 :="V AR_ADDR".CMD_FDRATEUNIT2 :=B#16#1COLUMN2:=LINE2 :=W#16#3ADDR3 :="V AR_ADDR".R_PARAMUNIT3 :=B#16#1COLUMN3:=LINE3 :=W#16#2ADDR4 :="V AR_ADDR".PA TH_OVERRUNIT4 :=B#16#1COLUMN4:=LINE4 :=ADDR5 :=UNIT5 :=COLUMN5:=LINE5 :=ADDR6 :=UNIT6 :=COLUMN6:=LINE6 :=ADDR7 :=UNIT7 :=COLUMN7:=LINE7 :=ADDR8 :=UNIT8 :=COLUMN8:=LINE8 :=FMDB_NO:=30ERROR :="USERDB".EX5.ERR_RDNDR :="USERDB".EX5.NDRSTATE :=#w_STA TERD1 :="USERDB".EX5.SET_POSITION 读到的参数放置目的地1!RD2 :="USERDB".EX5.FDRATE 读到的参数放置目的地2!RD3 :="USERDB".EX5.RPARAM_1 读到的参数放置目的地3!RD4 :="USERDB".EX5.OVERRIDE 读到的参数放置目的地4!RD5 :=RD6 :=RD7 :=RD8 :=L B#16#0A "USERDB".EX5.ERR_RD // Error ?JCN MA02L #w_STA TE // If error entry of error status ...MA02: T "USERDB".EX5.STA TE_RD // ... in USERDBEXAMPLE6 (e.g. FC 105)This example reads and writes 24 R parameters.The signals are stored in structure "EX6" in the "USERDB". The read orwrite R parameters are stored in structure "R_PARAM" in DB 116.This example is programmed for one channel and four axes.In the first part, bit "V AR_RD" is set to read 24 R parameters (R0 to R23)in blocks of 8 from the FM. These are stored in structure "R_PARAM" inDB 116.In the second part, bit "V AR_WR" is set to write 24 R parameters (R0 toR23) in blocks of 8 to the FM. The data contents are read from structure"R_PARAM" in DB 116.Request bits "V AR_RD" and "V AR_WR" must each be set by a positive edge.If the variable read or write operation is ended without an error, thecall parameters are reset.If an error has occurred, the error code (see Table 6-9 or 6-11) isstored in variable "STATE_RD" (read error code) or "STATE_WR"(write error code).Note:By altering variable "CONT_CYCL" (default: 3) in "USERDB" you caneither increase or decrease the number of variables in increments of8 (e.g. 5 means 40 R parameters from R0 to R39). Please note howeverthat if you increase the number of R parameters, you must also increasethe size of structure "R_PARAM" in DB 116.A "USERDB".EX6.INIT_FB2 // FB2 initialization in first runR "USERDB".EX6.INIT_FB2 // Reset initializationR "USERDB".EX6.FB2_REQ // Request=False if first runCALL "FM_GET" , "EX6_DIFB2" // CALL FB 2REQ :="USERDB".EX6.FB2_REQ //NUMVAR :=8 // Number of variablesADDR1 :="V AR_ADDR".R_PARAM // Structure of R parameterUNIT1 :=B#16#1 // UNITx: channel 1COLUMN1:=LINE1 :="USERDB".EX6.LINE1[1] // LINEy: number of R parametersADDR2 :="V AR_ADDR".R_PARAMUNIT2 :=B#16#1COLUMN2:=LINE2 :="USERDB".EX6.LINE1[2]ADDR3 :="V AR_ADDR".R_PARAMUNIT3 :=B#16#1COLUMN3:=LINE3 :="USERDB".EX6.LINE1[3]ADDR4 :="V AR_ADDR".R_PARAMUNIT4 :=B#16#1COLUMN4:=LINE4 :="USERDB".EX6.LINE1[4]ADDR5 :="V AR_ADDR".R_PARAMUNIT5 :=B#16#1COLUMN5:=LINE5 :="USERDB".EX6.LINE1[5]ADDR6 :="V AR_ADDR".R_PARAMUNIT6 :=B#16#1COLUMN6:=LINE6 :="USERDB".EX6.LINE1[6]ADDR7 :="V AR_ADDR".R_PARAMUNIT7 :=B#16#1COLUMN7:=LINE7 :="USERDB".EX6.LINE1[7]ADDR8 :="V AR_ADDR".R_PARAMUNIT8 :=B#16#1COLUMN8:=LINE8 :="USERDB".EX6.LINE1[8]FMDB_NO:=30ERROR :="USERDB".EX6.ERR_RDNDR :="USERDB".EX6.NDRSTATE :=#w_STA TERD1 :="USERDB".EX6.RD[1]RD2 :="USERDB".EX6.RD[2]RD3 :="USERDB".EX6.RD[3]RD4 :="USERDB".EX6.RD[4]RD5 :="USERDB".EX6.RD[5]RD6 :="USERDB".EX6.RD[6]RD7 :="USERDB".EX6.RD[7]RD8 :="USERDB".EX6.RD[8]NETWORK2 (开始条件检测)AN "USERDB".EX6.V AR_RD // Start read variablesR "USERDB".EX6.HBIT1 // Then reset edge trigger flagJC E_RDNETWORK3(初始化)A "USERDB".EX6.V AR_RD // Start read variablesFP "USERDB".EX6.HBIT1 // Then reset edge trigger flagJCN M001 // Branch if not the first runL B#16#0 // Initialize:T "USERDB".EX6.COUNT_FB2 // Call counterL B#16#1T "USERDB".EX6.LINE1[1]L B#16#2T "USERDB".EX6.LINE1[2]L B#16#3T "USERDB".EX6.LINE1[3]L B#16#4T "USERDB".EX6.LINE1[4]L B#16#5T "USERDB".EX6.LINE1[5]L B#16#6T "USERDB".EX6.LINE1[6]L B#16#7T "USERDB".EX6.LINE1[7]L B#16#8T "USERDB".EX6.LINE1[8]L P#0.0 // Address of R parameters in DB116 T "USERDB".EX6.TAGET_ADR1 // Start address target pointerM001: L "USERDB".EX6.COUNT_FB2 // Read call counter L "USERDB".EX6.CONT_CYCL // Number of runs>=I // After 3 runs (24 R parameters)R "USERDB".EX6.V AR_RD // Reset activation bit - Start read variables R "USERDB".EX6.HBIT1 // Reset edge trigger flagJC E_RDNETWORK4(读工作开始)A "USERDB".EX6.V AR_RD 工作开始的点!!// If start read variablesAN "USERDB".EX6.FB2_REQ // and no REQ activeS "USERDB".EX6.FB2_REQ // then set REQJC E_RD // Branch to end of read variables NETWORK5(报错处理)A "USERDB".EX6.FB2_REQ // If REQ is activeA "USERDB".EX6.ERR_RD // and reading errorR "USERDB".EX6.FB2_REQ // then reset REQR "USERDB".EX6.HBIT1 // Reset edge trigger flagJCN M002 // and no branchL #w_STA TE // Temporary error statusT "USERDB".EX6.STA TE_RD // Buffer error statusJU E_RDNETWORK6(工作完成处理)M002: A "USERDB".EX6.FB2_REQ // If REQ active andA "USERDB".EX6.NDR // read request endedR "USERDB".EX6.FB2_REQ // then reset REQJCN E_RD // and no branch to end of readL #w_STA TE // Temporary error statusT "USERDB".EX6.STA TE_RD // Buffer error statusNETWORK7(各个R参数写入目的DB块)OPN "USERDB" // SourceOPN DI 116 // DestinationOPN<数据块>将数据块作为共享数据块或背景数据块打开。