登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:请教各位大侠一个编程问题?

点击:412 回复:4

就是程序过来一个十进制数怎么转换成二进制保存到寄存器???程序越简单越好?
13-06-28 15:24

引用 冰点晓韩 在 2013/6/28 15:24:58 发言【内容省略】

不明白的是,在寄存器中的数据已经是以二进制方式存储的10进制数了,为何还要转换呢?
如果一定要将一个数的每一个二进制位存储到不同的寄存器,那么除2求余就可以了。
Good Luck~
13-06-28 16:08
就是输入进来一个十进制数  把它转换成二进制输出    我知道除以2取余,但程序写起来比较麻烦不是吗?
13-06-28 16:16
你可以将输入的数保存在一个位存储器中,比如MW300,由于内部存储是以二进制的形式存储的,然后你直接输出每一位,比如,从最低位到最高位,先输出M301.0,M301.1,M301.2……,M301.7(低八位),M300.0,M300.1,……,M300.7(高八位)……根本不用任何任何代码……因为你这样做的目的可能是为了监视,如果在Step7的状态下,其软件有这个功能(以二进制形式监测),不必另外写代码去做转变……如果是为了显示在触摸屏或者上位机上,可以一位一位的读取,然后通过一些变量控制界面的显示即可……
13-06-28 22:07

引用 冰点晓韩 在 2013/6/28 16:16:24 发言【内容省略】

你没明白1楼讲的意思,你还是喜欢拿人脑习惯的十进制和计算机处理数据方式的二进制较劲!多去补习下基础,多看看数制与编码;
13-06-29 14:44

工控新闻

更多新闻资讯