曾经有个帖子盖楼比较高了,找个问题答案的,翻看起来颇费劲,呵呵,曾说过要再开一贴的,忙忙叨叨的一直没顾上,看改版后的论坛界面更清新了,开此帖也算是给新论坛添砖加瓦贡献一份力量吧。
旧帖子如下,http://bbs.gongkong.com/d/201110/398308_1.shtml 后来没有回答的问题,可以在新帖继续讨论学习。
松下PLC本来不难用,刚上手开始用或者编程经验少的朋友,可能觉得比较生疏,慢慢来就好了,开此帖的题旨所在:你提出编程中碰到的工程项目难题,大家一块儿想点子,互相探讨学习交流工作经验,共同提高技术水平,也给学弟学<此处内容被屏蔽>一个参考学习交流的平台。
撇开抵制日货爱国等等话题,只限技术层面上讨论交流学习,交流编程思想,不局限于某个牌子的PLC,如果项目上有更多的选择机会,建议选择国货吧,仅此而已。
黄工你好:
我的plc是松下FP-X。本体上有一个圆头rs232。用于和hmi通讯。
这个圆头rs232在寄存器配置里可以设置为“计算机链接”和“通用通讯”。
“计算机链接”是默认的。威纶的屏幕只需选好plc类型就能使用了。
“通用通讯”情况下。plc可以使用MTRN指令。从串口收发数据。我用单片机通过串口即可和plc通讯。
问题来了:
1、我用威纶的屏幕在默认的“计算机链接”下使用有性能不足的问题。我要快速收发大量数据(5000个字)。所以不能用“计算机链接”。
2、单片机用串口指令在“通用通讯”下可以和plc发数据。且可以满足大量数据的收发要求。但我不懂得单片机的串口的封装过的代码。而且plc的串口指令的底层代码我也不知道。
3、综上1和2。我想用威纶的屏幕的outport指令来完成串口的代码。希望能完成性能要求。
在此向论坛的大神们请教。给我讲解一下plc的“通用通讯”的协议或者单片机的串口协议。帮我度过难关。谢谢
黄工,能提供松下PLC编写的CRC16校验程序,生成规则是
1. 预置一个16位(两个字节)的单元为oxFFFF,称之为CRC寄存器。
2. 把第一个8位数据与16位CRC寄存器的低位相异或,把结果放于寄存器的低位。
3. 把寄存器的内容右移1位(朝低位),用0填补最高位,检查移出来的低位。如果为0,重复第3步(再次移位)。如果为1,CRC寄存器与多项式0xA001相异或,把结果放于寄存器。
4. 重复步骤3,直到右移8次,这样整个8位数据全部进行了处理。
5. 重复步骤2到4,进行下一个8位数据的处理。
最后得到的CRC寄存器即为CRC码。
黄工好,有问题急求: 松下FP0怎么实现投币后时间追加?
场景:游戏机投入一枚硬币后开始10S的动作,在动作期间再投币可以实现10S的累加,但10S动作结束后投币,必须等待3S后启动。游戏结束后3S内指示灯以0.3S的间隔闪烁,直至结束。 其中,投币追加时间怎么实现?用哪个指令?