ImageVerifierCode 换一换
格式:DOC , 页数:17 ,大小:275.50KB ,
资源ID:4362048      下载积分:8 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4362048.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(PLC(FX2N)小数点(浮点)运算编程研究讲义2012.doc)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

PLC(FX2N)小数点(浮点)运算编程研究讲义2012.doc

1、gPLC(FX2N)浮点(小数点)运算编程研究讲义2012 目录 u PLC(FX2N)浮点(小数)运算编程概要 u 实验一 将一个整数转变为一个二进制小数,并存入FX2N得Dn中(产生一个浮点数,存入FX2N得Dn中) u 实验二 将2个二进制小数(或其中一个常数K、H)进行四则运算 u 实验三 一个二进制小数,如何在LED数码显示器,或者组态王上显示监控 u 实验四 二进制浮点数运算实例 u 实验五 任意位浮点数(小数)得输入 u 附1:PLC数值显示(LED数码显示器)含小数点方法 u 附2:PLC(FX2N)中输入小数小结、要点: PLC(FX2N)浮点(

2、小数)运算编程概要 1、 PLC(FX2N)浮点数(小数)概论: u 二进制小数概念:二进制小数在PLC(FX2N)中存储占用32位(即占用2个连续编号得Dn、Dn+1),最高位bit31位就是符号位(1就是负数,0就是正数),其她位(bit30~bit0)就是数值位,数值位分尾数段与指数段,bit0~bit22共23位就是尾数段,bit23~bit30共8位就是指数段;注:二进制小数不就是按2得补码处理; u 浮点数(小数)运算规则概念 ² 进行浮点数(小数)运算得各Dn只能就是二进制小数、常数K、H;不能就是整数或十进制小数; ² 若Dn中数据就是整数,需用FLT指令转化为二

3、进制小数形式,再参与运算; ² 若Dn中数据就是十进制小数,需用EBIN指令转化为二进制小数形式,再参与运算; ² 若Dn中数据就是常数K、H,可直接参与运算,无需转化,因其在参与运算过程中会自动转化; ² 浮点数运算中指令前一般应加D,因参与运算得二进制小数都占有二个连续得Dn、为32位数据; ² 浮点数运算得种类在PLC(FX2N)中有加9EADD)、减(ESUB)、乘(EMUL)、除(EDIV)、正弦(SIN)、余弦(COS)、正切(TAN)、数类转化(FLT、INT、EBIN、EBCD)、比较(ECMP、CZCP)等等; u 二进制小数得PLC处理中得监控:因二进制小数数值与

4、指数占用了二个连续得Dn,且难以区别,故难以在组态王等上监控(如LED数码显示器、组态王等)、监控得数据只就是乱码,故若要监控需将这些二进制小数用EBCD指令转化为十进制小数,十进制小数占用连续二个Dn,编号大得为指数段,编号小得为尾数值、区别明确,易于监控;如:;其中D30为尾数值、D31为指数段;注:在FX2N仿真软件上易监控仿真结果; u 十进制小数概念:十进制小数在PLC(FX2N)中占用32位,在PLC内部存储时采用2个连续编号得Dn、Dn+1,编号小得保存尾数段(Dn),编号大得保存指数段(Dn+1);如:;其中D30为尾数值、D31为指数段; u 十进制小数得运算:十进制

5、小数无法在PLC(FX2N)中直接进行运算处理,需用EBIN指令转化为二进制小数再进行运算; u 十进制小数得数值监控作用:十进制小数易于数值监控,而二进制小数难以直接监控,直接监控数值往往为乱码,故PLC中二进制小数若需监控,可用EBCD指令将其转化为十进制小数;注:十进制小数在FX2N仿真软件上监控反而出现乱码; u 二~十进制数相互转化中得误差: ² 在二进制小数转化为十进制小数、或十进制小数转化为二进制小数过程中,易产生一定得误差,因有效数字四舍五入得缘故; ² 因某些自动控制采用浮点数可提高控制精度与品质,故需浮点数运算及处理; ² 因某些自动控制部件只能采用整数,故需将浮

6、点数转化为整数,其转化过程有四舍五入,将产生一定得误差。 2、 得到一个二进制小数得方法概要(与得到一个十进制小数得方法互为逆运算): u 方法一:如产生一个二进制小数254、6(往D20中存入一个二进制小数254、6); ² 先往D0中送入一个整数(2546);MOV K2546 D0; ² 再用二进制整数转化为二进制小数指令FLT转化得到二进制小数形式,存入D10(2546、00);FLT D0 D10;注:FLT指令仅就是将整数得表示形式转化为小数得表现形式(25462546、00),但此数值实质上仍就是整数; ² 最后将二进制小数形式除以常数10得倍数,得到所需小数后为几位得

7、二进制小数(254、6);DEDIV D10 K10 D20;注:小数处理指令与整数处理指令类似,只就是前面加E,表示属小数处理指令;另外小数数值占二个Dn,为32位,故运算指令前需加D; ² 注:二进制小数因就是32位数值,整个数值254、6占了(D21)D20; ² 注:方案一PLC软件监控仿真结果正常;组态王监控为乱码; ² 例程: u 方法二:如产生一个二进制小数254、6(往D10中存入一个二进制小数254、6); ² 将一个需转化得整数送入D0(2546);MOV K2546 D0;; ² 再将一个负数(为小数得位数)送入D1;MOV 1 D1; ² 注:上述二个

8、Dn标号必须连续、且存放整数得Dn标号应在前(D0)、存放负数得Dn标号应在后(D1); ² 最后用十进制小数转化为二进制小数指令EBIN转化得到所需得二进制小数(254、6);DEBIN D0 D10;注:小数处理指令与整数处理指令类似,只就是前面加E,表示属小数处理指令;另外小数数值占二个Dn,为32位,故运算指令前需加D; ² 注:二进制小数因就是32位数值,整个数值254、6占了(D21)D20; ² 注:方法二PLC软件监控仿真为乱码;组态王监控为乱码; ² 例程: 3、 得到一个十进制小数得方法概要(与得到一个二进制小数得方法互为逆运算): u 方法一:将一个二进制

9、小数通过EBCD指令(二进制小数转化为十进制小数指令)转化得到;注:直接结果显示PLC监控仿真为乱码,可在组态王等上用尾数\指数形式显示结果DnDn+1; u 方法二:先往Dn中送入一个整数;再往Dn+1中送入一个负数(为小数得位数);注:上述二个Dn标号必须连续、且存入整数得Dn标号在前(Dn)、存入负数得Dn标号在后(Dn+1)。注:直接结果显示PLC监控仿真为乱码,可在组态王等上用尾数\指数形式显示结果DnDn+1; 实验一 将一个整数转变为一个二进制小数,并存入FX2N得Dn中(产生一个浮点数,存入FX2N得Dn中) 1、具体实例:将一个整数12,转变为二进制小数1、2,存入

10、D21)D20中;为了在组态王上易监控,再转化为十进制小数存入(D31)D30中;并用D30D31方式在组态王显示结果。 2、程序1段及分析: 先将常数(整数)12存入D0中;再用FLT指令将D0中得常数(整数)转变为二进制小数形式(12、00)存入D11(D10)中;最后用二进制小数除法指令DEDIV得到1位小数得二进制小数(1、200)存入(D21)D20中; 3、程序1段PLC仿真: 4、程序2段及分析: 为了实现(D21)D20中数值得组态王监控,先用DEBCD指令将其转化为十进制小数、存入(D31)D30中; 5、程序2段PLC仿真: 6、程序3段及分

11、析、PLC仿真: 十进制小数(D31)D30中指数段(D31)值作正负值判别,若就是负值则求补码,再显示;若就是正值则不需处理,直接显示;(指数段作正负判别就是为了:若可能出现负数,需求补码处理成原码绝对值十进制小数得指数一般都就是负数,如此处3); 7、程序4段及分析、PLC仿真: 十进制小数(D31)D30中尾数段(D30)值作正负值判别,若就是负值则求补码,再显示;若就是正值则不需处理,直接显示;(尾数段作正负判别就是为了:若可能出现负数,需求补码处理成原码绝对值为负数得十进制小数时才可能出现,此处不就是); 8、组态王监控结果及说明: 在组态王监控中,原数D0=

12、12,将其转化为1、200存入(D31)D30,并用D30D31方式显示(1199×103): 9、 总得PLC程序及解说、仿真结果: 10、几点说明: u 将一个整数转变为二进制小数形式,用FLT指令; u 二进制小数形式数在FX2N中: ² 占用二个连续Dn存储,占32位; ² b0位—b22位(共23位)就是尾数位; ² b23位—b30位(共8位)就是指数位; ² b31位就是符号位(1为负数,0为正数); ² 二进制小数不就是按2得补码处理; u 因上述规则,故二进制小数难以直接监控,直接监控会出现乱码;一般可将其转变为十进制小数,再进行监控; u 其整

13、数后面(小数点后面)为三位小数形式; u 例如:一个整数12转变为二进制小数形式数,形式为12、000; u 将二进制小数转变为十进制小数形式,用EBCD指令; u 十进制小数形式在FX2N中: ² 占用二个连续Dn存储,占32位; ² Dn编号小得就是尾数段,Dn编号大得就是指数段; ² Dn得最高位都就是符号位; ² 十进制小数就是按2得补码处理; ² 例如:一个二进制小数转变为十进制小数存入D31、D30中,其表示形式为:,即;即D30中存得就是尾数段1199;D31中存得就是指数段3。 u 因上述规则,故十进制小数可以用于直接监控; u 将二进制小数转变为十

14、进制小数时,十进制小数得尾数段为4位,故转变可能会出现一定得误差。 实验二 将2个二进制小数(或其中一个常数K、H)进行四则运算 1、具体实例:产生2个二进制小数,(D21)D20=2、4,(D26)D25=1、2,再将这2个二进制小数进行加减乘除等四则运算处理; 2、 FX2N程序及解说、仿真 3、程序说明 ² 首先用MOV指令将整数24放入D1中、整数12放入D2中; ² 用FLT指令将D1中得整数24转变为二进制小数形式24、00存入D10中、将D2中得整数12转变为二进制小数形式12、00存入D15中; ² 用DEDIV指令将D10中得二进制小数形式数24、00

15、成为具有一位小数得二进制小数2、400、用DEDIV指令将D15中得二进制小数形式数12、00成为具有一位小数得二进制小数1、200; ² 二进制小数2、400与12、00进行加减乘除四则运算:2、4+1、2=(D31)D30;2、41、2=(D36)D35;2、4×1、2=(D41)D40;2、4÷1、2=(D46)D45; 4、几点说明 n 将FX2N中Dn得多个二进制小数进行四则运算,它们类型需都为浮点形式; n 若某个类型不就是浮点形式,需用FLT转化,再参与运算; n 但常数K、H无需转化,因其在参与运算过程中会自动转化为浮点形式; n 二进制小数在进行四则运算过程中,都

16、需应用FX2N得浮点四则运算指令,而不能应用普通四则运算指令; n 运算结果若需监控得(LED数码显示器、组态王等),可将其转换为十进制小数再监控。 实验三 一个二进制小数,如何在LED数码显示器,或者组态王上显示监控 1、具体实例:产生一个二进制小数1、2,并分别组态王上监控显示、在LED数码显示器上显示。 2、编程思路解读: u 首先用FLT指令及DEDIV指令产生1个1位二进制小数1、2;存入(D11)D10中; u 用DEBCD指令将该二进制小数1、2转化为十进制小数1、2,并存入(D101)D100中; u 将十进制小数得指数段(高位Dn,即D101)进行正负符号判别

17、 ² 正数则直接显示十进制小数得指数值D101; ² 负数则先求补码,再显示十进制小数得指数值;(显示数值前面加负号,大多如此);D101=3; u 将十进制小数得尾数段(低位Dn,即D100)进行正负符号判别: ² 正数则直接显示十进制小数得尾数值D100=1199; ² 负数则先求补码,再显示十进制小数得尾数值D100;(显示数值前面加负号); u 十进制小数得总体表示形式为:,具体得即:D100D101;此实验结果为11993; u 十进制小数用LED数码显示器显示(结合硬件I/O图查瞧): ² 先对Dn(十进制小数尾数,经正负判别与求补码处理D100)进行常规处理显示

18、BCD或SEGD等);注意数值前面需加负号与否; ² 再对Dn+1(十进制小数指数,经正负判别与求补码处理D101)进行常规处理显示(BCD或SEGD等);注意数值前面需加负号与否; u 十进制小数用组态王显示监控: ² 按十进制小数得总体表示形式:;设置Dn变量(D100)、Dn+1变量(D101);并在画面按上述形式制作D100D101;显示结果为11993; 3、PLC程序、解说及仿真 4、组态王监控图(略) 5、LED数码显示器显示硬件I/O图 实验四 二进制浮点数运算实例 1、具体任务: 要求编制一解方程程序:;其中X:X0—X17(K4X0),由四位数

19、字开关输入,范围为0—9999。 2、PLC程序、解说及仿真 3、程序编制思路: u 程序编程: ² 采用DMOV指令、DFLT指令及DEDIV指令先产生1个二进制小数115、2=(D26)D25; ² 采用DMOV指令、DFLT指令及DEDIV指令先产生1个二进制小数375、23=(D7)D6; ² 采用DMOV指令、DFLT指令及DEDIV指令先产生1个二进制小数187、6=(D16)D15; ² X0~X17输入数据处理:先用BIN指令将输入得16位BCD码整数转换为二进制整数;再用FLT指令将此数转换为二进制小数形式存入(D36)D35; ² 用EDMUL指令将

20、D26)D25与(D36)D35进行二进制小数得乘法,结果存入(D41)D40中; ² 用DEADD指令将(D41)D40与(D7)D6进行二进制小数得加法;结果存入(D46)D45中; ² 用DEDIV指令将(D46)D45与(D16)D15进行二进制小数得除法,得到方程最终结果存入(D51)D50中。 u 方程编程运算过程: u 方程编程中各变量Dn含义: ² (D26)D25=115、2; ² (D36)D35=K4X0(X0~X17) ² (D7)D6=375、23; ² (D16)D15=187、6; ² (D26)D25×(D36)D35=(

21、D41)D40; ² (D41)D40+(D7)D6=(D46)D45; ² (D51)D50=(D46)D45÷(D16)D15;即方程最后结果; 实验五 任意位浮点数(小数)得输入 一、具体任务及编程解读: 1、 设置加1/加5键(INC指令/ADD指令),减1/减5键(DEC指令/SUB指令),复位键,小数点1位键,小数点2位键,数据存入D0中; 2、 减1/减5操作时,初始最大值设置为50,最小减至0;(触点比较指令) 3、 加1/加5操作时,初始最小值设置为0,最大加至50;(触点比较指令) 4、 减1/减5、加1/加5操作中若D0数据需归零,可按复位键(RST指令

22、); 5、 输入一个小数点后一位得小数;(FLT指令、DEDIV指令)D20 6、 输入一个小数点后二位得小数;(FLT指令、DEDIV指令)D20 7、 为了二进制小数得显示,用DEBCD指令将二进制小数转变为十进制小数;再用BON指令、NEG指令将数据变换为尾数、指数显示形式D30D31; 二、编程思路 1、 先用整数数据输入指令(如加1/加n、减1/减n指令,TKY指令、HKY指令、DSW指令等等)输入整数(即需输入得整数连小数,先不考虑小数点)至Dn; 2、 再在外部Xn选择小数位(n位),编程处理存入Dm中,实现了小数得输入。 三、PLC程序及解说、仿真:

23、 附1:20 一、实验要求 显示一个含有小数点得实数,如12、6、23、8、5、6等。 二、实验实现分析 u 对于共阴LED数码显示器,将整数中最后一位得h(小数点)引脚通过一个限流电阻接+Vcc即可;其她硬件电路都类同;并且无需在软件中作任何处理。 u 对于共阳LED数码显示器,将整数中最后一位得h(小数点)引脚通过一个限流电阻接地即可;其她硬件电路都类同;并且无需在软件中作任何处理。 三、实验电路图 附2:PLC(FX2N)中输入小数小结、要点: u FX2N中可外部输入或内部产生1个二进制小数或十进制小数; u PLC外部输入小数方案: ² 外部(Xn)按常

24、规方法输入整数至PLC得Dn中, ² 再在PLC中用FLT指令得将整数转化为二进制小数形式,再用DEDIV指令来确定二进制小数得得位数; ² 还有第二种方法,可见前面论述,略; ² 若需转化为十进制小数,则可用DEBCD指令将二进制小数转化为十进制小数; ² 注:因二进制小数在PLC内部可直接进行运算,而十进制小数则直接不行,故需要小数往往首选二进制小数; u PLC内部产生小数方案: ² 内部先用MOV指令在Dn中存入一个整数, ² 再用FLT指令得将整数转化为二进制小数形式,再用DEDIV指令来确定二进制小数得得位数; ² 还有第二种方法,可见前述,略; ² 若需转化为十

25、进制小数,则可用DEBCD指令将二进制小数转化为十进制小数; ² 注:因二进制小数在PLC内部可直接进行运算,而十进制小数则直接不行,故需要小数往往首选二进制小数; u PLC内部小数得运算: ² PLC内部二进制小数可直接运算:如加减乘除比较等等; ² 而十进制小数则不能直接运算,需用DEBIN指令将其转化为二进制小数后进行; ² 数据为K、K常数则可直接参与运算,无需转化; ² 二进制小数运算时,大多为32位,指令前应加D;并且运算结果存储得得存储器为连续编号得2个(Dn+1)Dn;高位在大编号、低位在小编号;程序语句上只需写小编号Dn; ² 遇到在PLC内部需要运算处理得工

26、程小数,先需确定就是属于何种性质(二进制小数、十进制小数),再作运算或变换后运算; ² 遇到在 PLC内部需要运算得1个工程小数、1个为整数,工程小数得判断就是否为二进制小数,否则即为十进制小数,用DEBCD指令转化之、整数则需将整数用FLT指令转化为二进制小数,二者才可进行运算处理。 u FLT指令提要: ² FLT指令仅就是将二进制整数转化为二进制小数表现形式, ² 使用时需据二进制整数大小(占一个D16位、还就是占二个D32位)前面加D还就是不加; ² 经FLT指令转化后得二进制小数一般占连续2个Dn; ² 要将经FLT指令转化而来得二进制小数形式得(Dn+1)Dn,得到就是

27、几位小数得值,可用DEDIV指令,除10得到1位小数,除100得到2位小数,以此类推; u 二进制小数得要点:二进制小数可在FX2N中直接进行四则运算,可直接在PLC软件中仿真显示结果;但在组态王等监控易出现乱码;需用DEBCD指令将其转化为十进制小数后以尾数、指数形式显示监控结果;二进制小数为32位数,占用连续标号得二个Dn,最高位为符号位(1为负数、0为正数),余下得数值位:次高及下8位为指数段,剩余得为23位为尾数段;组态王上较难显示; u 十进制小数得要点:十进制小数不能在FX2N中直接进行四则运算,需用DEBIN指令转化为二进制小数后进行;但十进制小数在PLC仿真软件中仿真显示就是乱码,但可以尾数、指数形式在组态王等显示监控结果;十进制小数为32位数,占用连续标号得二个Dn,大编号得Dn+1存放指数段,小编号得Dn存放尾数段,可用DnDn+1显示十进制小数;

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服