您现在所在的是:

无所不谈

回帖:17个,阅读:986 [上一页] [1] [2] [下一页]
6329
@Q
文章数:1812
年度积分:50
历史总积分:6329
注册时间:2004/11/29
发站内信
2011国庆活动
2010年度博客贡献奖
2010年四月影像
09工控人生征文
发表于:2014/8/29 20:53:06
#0楼
续前贴:http://bbs.gkong.com/archive.aspx?id=391673
非常感谢网友对于这个趣题的积极参与和提出疑问,我也抱歉没有讲清楚,以至于网友有的觉得搞复杂了,有的还觉得看得晕了,在此介绍一下格雷码,可能会对这个趣题的理解有帮助,也可能对于工控中的应用个感兴趣。
附件 格雷码.jpg

6329
@Q
文章数:1812
年度积分:50
历史总积分:6329
注册时间:2004/11/29
发站内信
2011国庆活动
2010年度博客贡献奖
2010年四月影像
09工控人生征文
发表于:2014/8/29 20:54:08
#1楼
大家可以注意一下格雷码的编码规律,不需要去算数字去编码,而是排队图案化编码,最低位(a囚犯)从第二瓶(十进制1)开始,每隔2个数字的1和0的变化,也就是说a囚犯无需看数字编码,只需要按排队过去喝两瓶空两瓶再喝两瓶,,,喝过的酒瓶标记一个标号a;b囚犯从第三瓶(十进制2)开始,每隔4个数字的1和0的变化,也就是b囚犯只需按酒瓶排队过去,喝4瓶空4瓶再喝4瓶,,,,喝过的酒瓶标记一个标号b;然后c囚犯从第5瓶开始(十进制4)每隔8个数字的变化,喝8瓶空8瓶再喝8瓶,,,喝过标记为c。以此类推,第一轮5个囚犯喝过来,到e囚犯是连喝32瓶空32瓶再连喝32瓶,,,根本就不需要去算编码。如果有囚犯中毒了,找出他喝过的标记,多个囚犯中毒的标记集合,就是那瓶毒酒了。
如果只有一轮的时间,那就需要10个囚徒来试酒,有中毒的找出中毒者喝过的酒的标记,各个标记的集合就是那瓶毒酒了。
但是我们时间还有多,可以分低5位和高5位2次来试酒。
6329
@Q
文章数:1812
年度积分:50
历史总积分:6329
注册时间:2004/11/29
发站内信
2011国庆活动
2010年度博客贡献奖
2010年四月影像
09工控人生征文
发表于:2014/8/29 20:56:50
#2楼
例如在0-31十进制数字里面,有两个特别的数,一个是全00000,没有一个囚犯喝到,如果五个囚犯都没有中毒,那就只有这一瓶是毒酒了。
但是这只是0—31,在1000瓶中有32组的(0—31),也就是说有32瓶是毒酒嫌疑,因为5个囚犯都没有中毒,他们可以在第二轮继续来试这32瓶嫌疑毒酒,这样的可能性是1/32。


再例如,5个囚犯都中毒了,那只有数字11111(十进制21)那就是这瓶就是毒酒了,这样在1000瓶里也有32组,就需要再抓5个囚犯来试这32瓶嫌疑毒酒了,这样的可能性也是1/32。
6329
@Q
文章数:1812
年度积分:50
历史总积分:6329
注册时间:2004/11/29
发站内信
2011国庆活动
2010年度博客贡献奖
2010年四月影像
09工控人生征文
发表于:2014/8/29 20:58:03
#3楼
除了全00000和全11111,0—31里面还剩30瓶是可能有囚徒中毒1—4人,大家可以去格雷码图案化去看其中1个和4个是多少比例,2个和3个是多少比例了。中毒的囚犯挂了,就需要再找新的囚犯来试毒酒了。2轮下来有10位标记,中毒标记的集合(或者反向的没有中毒的没喝的集合)就是那瓶毒酒。
24574
mjinbao
文章数:13934
年度积分:50
历史总积分:24574
注册时间:2013/1/12
发站内信
2018春节活动(三)
2017春节活动(三)
2016国庆活动(三)
发表于:2014/8/29 21:08:14
#4楼
虽然我现在很懒,不想动脑筋,但我觉得能将两者联系起来,很好;
先收藏,待有时间了再看。

好帖要顶哦!
6329
@Q
文章数:1812
年度积分:50
历史总积分:6329
注册时间:2004/11/29
发站内信
2011国庆活动
2010年度博客贡献奖
2010年四月影像
09工控人生征文
发表于:2014/8/29 21:11:55
#5楼
格雷码与工控:
1,开关点输入的不同步性问题:10位信号同时进10个开关点,对于PLC来说其实时间微观上是不同步的,如果不是格雷码,就有可能在变化过程中有多位变化,而如果数据采集的不同步,这个多位变化就有可能有短瞬间的快慢不同步而出现错码可能,如果是格雷码,因为连续变化是每次只改变一位,那就不会有不同步快慢的可能,也就没有了错码可能。

2,无需解码的标记集合:很多人看到格雷码头晕,其实格雷码最早出现在工控是过去的“打孔编花”的纺织机械,编码1(打孔)的开关集合编个花,例如编码10101,是第一位第三位和第五位的常开开关的串联,当1,3,5同时有“打孔”,串联开关导通,这里打个“花”,做为动作开关,格雷码无需解码到二进制再到10进制,只要取开关集合。
6329
@Q
文章数:1812
年度积分:50
历史总积分:6329
注册时间:2004/11/29
发站内信
2011国庆活动
2010年度博客贡献奖
2010年四月影像
09工控人生征文
发表于:2014/8/29 21:36:44
#6楼
省线模式:在多点信号输出形式上,可以在时间上的先后分开,例如本故事的5个囚徒,在第一轮是低5位,在信号传达后,改为第二轮的高5位,在大于16位的并行信号输出可以用时间上分割分前后两次输出,但是那样信号是要占用时间的。
在伺服电机编码器,ABZ,UVW信号也有省线模式,在上电的时候,先送出UVW,得到电机转子的相位位置,然后再切换到ABZ输出。
39525
知道一点
文章数:23244
年度积分:1217
历史总积分:39525
注册时间:2004/6/12
发站内信
工控人谈电商
2013国庆活动
2011国庆活动
发表于:2014/8/29 23:55:49
#7楼
表情先赞一个
图表化对格雷码的I/O控制简单多了.
以前用格雷变频器用程序,后来用指令,一条指令代替一套程序.
昨天恶补格雷编码,异或的头都大了,还常串位,今天用高端PLC做了十进---二进---格雷,当时还在为5位,如何给1000定位编码翻腾.
再回家地铁上再细看楼主解释,啊 分高低字段,在结合程序给出的格雷数据,及时发帖"来电了"
回来整理数据,统计,哈哈 喝的最多的是第5个人,在第一轮就喝了504次.残忍点.
附件:
[本地下载]
快乐 幸福 自由 比什么都重要
6329
@Q
文章数:1812
年度积分:50
历史总积分:6329
注册时间:2004/11/29
发站内信
2011国庆活动
2010年度博客贡献奖
2010年四月影像
09工控人生征文
发表于:2014/8/30 6:35:41
#8楼
以下是引用知道一点2014/8/29 23:55:49的发言:
表情先赞一个
图表化对格雷码的I/O控制简单多了.
以前用格雷变频器用程序,后来用指令,一条指令代替一套程序.
昨天恶补格雷编码,异或的头都大了,还常串位,今天用高端PLC做了十进---二进---格雷,当时还在为5位,如何给1000定位编码翻腾.
再回家地铁上再细看楼主解释,啊 分高低字段,在结合程序给出的格雷数据,及时发帖"来电了"
回来整理数据,统计,哈哈 喝的最多的是第5个人,在第一轮就喝了504次.残忍点.
附件:
[本地下载]
是的,做为趣题,大家可以尝试编程PLC,格雷码解码可以按上述图表设置每位的开关集合程序,然后用十个开关状态直接解出格雷码.而不用异或到二进制,玩玩看.
如果要二进码,还是异或,如果到十进制可以尝试开关集合.
[此贴子已经被作者于2014/8/30 6:56:24编辑过]
6329
@Q
文章数:1812
年度积分:50
历史总积分:6329
注册时间:2004/11/29
发站内信
2011国庆活动
2010年度博客贡献奖
2010年四月影像
09工控人生征文
发表于:2014/8/30 6:45:34
#9楼
我上面写5位0~31格雷码根本没算,而是一个表格,每位高低脉冲写过去,就是脉宽不一样,找好上升沿起始点.
如有兴趣可以用PLC程序玩玩,找好"上升沿"设定"脉宽".
[此贴子已经被作者于2014/8/30 6:52:48编辑过]

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

62.4004