±à¼ÍƼö: |
±¾ÎıȽÏÁË»úе±ÛºÍÒÆ¶¯»úÆ÷ÈËÁ½ÖÖ¹¤Òµ»úÆ÷È˵ĿØÖÆÏµÍ³·½°¸£¬¶ÔÆäÌØµã½øÐÐÁ˽éÉÜ£¬Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚ¸öÈËͼÊé¹Ý£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼¡¢ÍƼö¡£ |
|

ÒÔÉÏ·ÖÀàÊǸù¾ÝÓ¦ÓöÔÏ󣬴ËÍ⣬ÊÐÃæÉϸü¶àµÄÊÇͨÓÃÐÍÔ˶¯¿ØÖÆÆ÷£¬¼´¿ØÖƷDZêÉ豸µÄ¡£

1¡¡¿ØÖÆÆ÷µ×²ã·½°¸
1.1¡¡»úе±ÛÀà
»úе±ÛÀàµÄ¿ØÖÆÆ÷·¢Õ¹½ÏÔ磬Ïà¶Ô³ÉÊ죬ÏÈÀ´¿´¿´ÏÖÓеĿØÖÆÏµÍ³µ×²ã·½°¸¡£

1.2¡¡Òƶ¯»úÆ÷ÈËÀà
ÒÆ¶¯»úÆ÷È˵ĿØÖÆÆ÷ÊôÓÚ½Ïеķ½Ïò£¬¹¤ÒµÒƶ¯»úÆ÷ÈËÓÐAGV¡¢ÎÞÈ˼ÝÊ»¹¤³Ì»úеµÈÐÎʽ£¬¿ØÖÆÏµÍ³µ×²ã·½°¸ÈçÏ£º

1.3¡¡¶Ô±È
»úе±Û¶Ô¾«¶ÈºÍÔ˶¯Îȶ¨ÐÔµÄÒªÇó½Ï¸ß£¬Òò´Ë¼ÆËãÁ¿´ó¡¢ÖÜÆÚ¶Ì£¬±ÈÒÆ¶¯»úÆ÷ÈËÒ»°ãÒª¸ß1µ½2¸öÁ¿¼¶¡£Òƶ¯»úÆ÷ÈËÒ»°ã¶Ôͬ²½¾«¶ÈÒªÇ󲻸ߣ¬ÆäÅäÖÃÏà¶Ô½ÏµÍ¡£
»úе±ÛÒ»°ã¹¤×÷Óڹ̶¨µÄÇøÓò£¬Æä¿ØÖÆÆ÷ͨ³£·ÅÖÃÓÚ»úÏäÄÚ£¬Òò´Ë·À»¤µÈ¼¶²»¸ß£¬Ò»°ãÊÇIP20¡£
ÒÆ¶¯»úÆ÷ÈËÓÉÓÚÐèÒª¾³£Ô˶¯£¬ÓÈÆäÊÇÊÒÍ⹤³Ì»úе£¬Òª¿¼ÂÇ·ÀË®·À³¾£¬Æä·À»¤µÈ¼¶½Ï¸ß£¬Ò»°ãÊÇIP67¡£

2¡¡CoDeSys½éÉÜ
2.1¡¡CoDeSysµÄ×é³É
Äã»á·¢ÏÖ£¬ºÜ¶àµÄ»úÆ÷ÈË¿ØÖÆÈí¼þ¶¼ÊǽèÖúCoDeSysʵÏֵģ¬ÄÇôʲôÊÇCoDeSysÄØ£¿
CoDeSysÊÇÒ»¿î¸¶·ÑµÄÈíPLC¿ª·¢Èí¼þ£¬¼òµ¥À´Ëµ£¬Ëü°üÀ¨Á½²¿·Ö£ºDevelopment SystemºÍRuntime
System¡£Development System¾ÍÊÇÓÃÀ´±à³ÌµÄÈí¼þ½çÃæ£¨¾ÍÏñVisual Studio¡¢EclipseµÈÈí¼þ£¬Ò²¿ÉÒÔ³ÆÎªIDE£©£¬Éè¼Æ¡¢µ÷ÊÔ¡¢±àÒëPLC³ÌÐò¶¼ÔÚIDEÖнøÐУ¬Õⲿ·ÖÊÇÓû§¾³£´ò½»µÀµÄ£»
PLC³ÌÐòдºÃÁËÒԺ󣬾ÍÒª°ÑËü×ªÒÆµ½Ó²¼þÉ豸ÖÐÔËÐС£¿ÉÊÇÕâʱÉú³ÉµÄPLC³ÌÐò×Ô¼ºÊÇÎÞ·¨ÔËÐеģ¬Ëü»¹ÒªÔÚÒ»¶¨µÄÈí¼þ»·¾³ÖвÅÄܹ¤×÷£¬Õâ¸ö»·¾³¾ÍÊÇRuntime
System£¬Õⲿ·ÖÊÇÓû§¿´²»µ½µÄ¡£
¶þÕß°²×°µÄλÖÃͨ³£²»Í¬£¬IDEÒ»°ã°²×°ÔÚ¿ª·¢µçÄÔÉÏ£¬Runtime SystemÔòλÓÚÆð¿ØÖÆ×÷ÓõÄÓ²¼þÉ豸ÉÏ£¬¶þÕßÒ»°ãʹÓÃÍøÏßÁ¬½Ó£¬³ÌÐòͨ¹ýÍøÏßÏÂÔØµ½RuntimeÖÐÔËÐС£

CoDeSysÔÚ¹úÄÚÖªÃû¶È²»¸ß£¬µ«ÊÇÔÚÅ·Ö޾øºÊ¢Ãû£¬ÓÈÆäÔÚ¹¤Òµ¿ØÖÆÁìÓò¡£ÎÒÃÇÉÏÃæÌáµ½µÄºÜ¶à»úÆ÷È˹«Ë¾¶¼Ê¹ÓÃÁËËüµÄ²úÆ·£¬ÀýÈçKEBA¡¢±¶¸£¡¢¹Ì¸ß£¬»¹Óм¸ºõËùÓеÄÒÆ¶¯»úÆ÷ÈË¿ØÖÆÆ÷³§¼Ò¡£
Éè¼ÆCoDeSysµÄ3S¹«Ë¾Ö»ÂôÈí¼þ£¬²»ÂôÓ²¼þ¡£Ó²¼þµç·ÐèÒªÓÉÓû§×Ô¼ºÉè¼Æ£¬3S¹«Ë¾¸ºÔð½«Runtime
SystemÒÆÖ²µ½¿Í»§µÄÓ²¼þÉÏ¡£Runtime System¿ÉÒÔÂãÅÜÔÚÓ²¼þÉÏ£¬µ«Ò»°ãÊÇÔËÐÐÔÚ²Ù×÷ϵͳÉÏ£¬ÅäÖòÙ×÷ϵͳҲÊǿͻ§µÄ¹¤×÷¡£
Èç¹û¿Í»§ÒªÇó£¬CoDeSysµÄIDE¿ÉÒÔ¶¨ÖÆ£¬»»³É¿Í»§µÄlogoºÍÍâ¹Û£¬Õâ¾ÍÊÇΪʲôÄã»á·¢ÏÖ²»Í¬³§¼ÒµÄ¿ª·¢Æ½Ì¨³¤µÃ²»Ò»Ñù£¬µ«·ç¸ñÓֱȽÏÏàËÆ¡£
µ±È»£¬Óû§Ò²¿ÉÒÔʹÓÃÆäËüIDE£¬ÀýÈç±¶¸£¾ÍʹÓÃÁË΢ÈíµÄVisual Studio£¬¶ø±³ºóµÄ±àÒëÆ÷µÈÄÚºËÒÔ¼°º¯Êý¿âÈÔÈ»²ÉÓÃCoDeSysµÄ·½°¸¡£
CoDeSysµÄRuntime¾ßÓÐÇ¿´óµÄÊÊÓ¦ÐÔ£¬Ö§³Ö¾ø´ó¶àÊýµÄ²Ù×÷ϵͳºÍÓ²¼þоƬ¼Ü¹¹¡£

2.2¡¡CoDeSys RuntimeÔÀí
CoDeSysµÄIDE²¿·ÖÊÇÃâ·ÑµÄ£¬Äã¿ÉÒÔ´ÓÆä¹ÙÍøÏÂÔØÌåÑéÌåÑé¡£ÕæÕýÊշѵÄÊÇÔËÐÐϵͳRuntime
System¡£

CoDeSysÔÚÉè¼ÆÖ®³õ¾Í½«¹¦ÄÜ»®·ÖΪÈô¸É×é¼þÄ£¿é£¬ÀýÈç×ÜÏßÐÒéÕ»¡¢¿ÉÊÓ»¯½çÃæ¡¢Ô˶¯¿ØÖÆ¡¢°²È«¿ØÖƵȵȣ¬Óû§¿ÉÒÔÏñ´î»ýľһÑùÑ¡¹º±ØÐèµÄÄ£¿é´î½¨×Ô¼ºµÄϵͳ£¬×îºóÐγÉÒ»¸ö¶¨ÖÆ»¯µÄ¿ØÖÆÈí¼þƽ̨¡£
һЩ³õ´Î½Ó´¥ÈíPLCµÄÓû§¿ÉÄܶÔÕⲿ·Ö¸Ðµ½Ä°Éú£¬µ«ÆäʵÕâÖÖÉè¼Æ·½Ê½·Ç³£ÆÕ±é¡£¾Ù¼¸¸öÀý×Ó£¬MATLAB
SimulinkµÄʵʱ¹¤¾ßÏ䣨Real-Time£©¾ÍÊÇÕâÑùµÄ¹¤×÷·½Ê½£¬Óû§ÔÚSimulinkµÄͼÐνçÃæÀïͨ¹ýÍÏ×§Éè¼Æ¿ØÖƳÌÐò£¬È»ºóÏÂÔØµ½ÕæÊµµÄÓ²¼þÖÐÅÜ£¬¿ÉÒÔÔÚÕâÀïÁ˽⡣
»¹ÓÐÏñ±¶¸£Ò²ÊÇÕâÑùµÄʹÓ÷½Ê½£¬Óû§ÔÚTwinCAT IDEÀï½øÐбà³Ì£¬È»ºóÏÂÔØµ½±¶¸£µÄ¿ØÖÆÆ÷ÖУ¬¿ØÖÆÆ÷ÀïÃæÆäʵÒѾԤװÁËÒ»¸öRuntime¡£Î÷ÃÅ×ÓµÄSTEP7Ò²ÊÇÒ»¿îIDE£¬ËüµÄPLCÖÐÒ²´æÔÚÒ»¸öÅäÌ×µÄRuntime¡£
Óû§±àдµÄPLC³ÌÐò¾ÍÏñÎÒÃǵçÄÔÀïµÄÓ¦ÓóÌÐò£¬ËüÔËÐÐÔÚRuntime SystemÉÏ£¬¶øRuntime
SystemÓÖÔËÐÐÔÚ²Ù×÷ϵͳ֮ÉÏ¡£
Runtime SystemλÓÚÓ¦ÓóÌÐòºÍ²Ù×÷ϵͳ֮¼ä¡£ËùÒÔ¿ÉÒÔ±»³ÆÎªÖмä¼þ£¨Middleware£©¡£ÔÚ»úÆ÷ÈËÈí¼þÀïÃæ£¬´¦ÓÚͬÑùµØÎ»µÄ»¹ÓÐROS¡¢OROCOS£¨Real-Time
Toolkit£©µÈµÈ¡£
»úÆ÷È˵ĿØÖÆ£¬ÏñÊý¿Ø»ú´²Ò»Ñù£¬¶ÔʵʱÐÔÓÐÒªÇó£¬Òò´ËÎÒÃÇÑ¡ÔñµÄ²Ù×÷ϵͳ×îºÃÊÇʵʱ²Ù×÷ϵͳ£¨RTOS£©¡£Òź¶µÄÊÇ£¬ÎÒÃǾ³£ÓõIJÙ×÷ϵͳ¶¼²»ÊÇʵʱµÄ£¬ÀýÈçWindowsºÍLinux¡£µ«ÐÒÔ˵ÄÊÇ£¬ÓÐÈ˶ÔËüÃǽøÐÐÁ˸ÄÔ죬Ҳ¾ÍÊǼÓÈëʵʱ²¹¶¡¡£
³£ÓõÄʵʱ²Ù×÷ϵͳÓУºVxWorks¡¢QNX¡¢Windows RTX¡¢Xenomai¡¢RT Linux¡¢Linux
RTAI¡¢WinCE¡¢¦ÌC/OS¡¢SylixOsµÈµÈ¡£¿¼Âǵ½WindowsºÍLinuxÕâÁ½¿î²Ù×÷ϵͳµÄÓû§½Ï¶à£¬CoDeSysÍÆ³öÁËÏàÓ¦µÄʵʱ²¹¶¡£¨RTE£©£¬ÎªÓû§ÃâÈ¥Á˸ÄÔìµÄ·³ÄÕ¡£
ÏëÁ˽â¸ü¶àµÄCoDeSys RuntimeÐÅÏ¢¿ÉÒÔÔĶÁ¹Ù·½µÄÎĵµ[Math Processing
Error] [1][2][1][2]¡£
2.3¡¡CoDeSysµÄȱµã
CoDeSys¸øÎÒÃÇ¿ª·¢¿ØÖÆÆ÷´øÀ´Á˱ãÀû£¬Ê¡È¥ÁË´ÓÁ㿪ʼµÄÂé·³£¬µ«ÊÇÒÀ¿¿CoDeSysÕâÀàÉÌÒµÈí¼þ¿ª·¢×Ô¼ºµÄ¿ØÖÆÆ÷²úÆ·Ò²´æÔÚ²»ÉÙµÄȱµã£º
1 µ×²ãËã·¨²»¹«¿ª
CoDeSys¼¯³ÉµÄÔ˶¯¿ØÖÆ×é¼þ¡¢×ÜÏßÐÒéÕ»¶¼ÊÇ·â×°ºÃµÄ£¬Óû§ÎÞ·¨Á˽âÆäÄÚ²¿Ï¸½Ú£¬Ò²ÎÞ·¨Õë¶Ô×Ô¼ºµÄ¾ßÌåÐèÇó½øÐж¨ÖÆÓÅ»¯£¬Ö»Äܼòµ¥µØµ÷Óá£Óû§Ö»ÄÜÒÀ¸½ÓÚCoDeSysƽ̨£¬ÄÑÒÔÐγÉ×Ô¼ºµÄºËÐļ¼Êõ¡£
2 ¹¦ÄÜÓÐÏÞ£¬ÄÑÒÔÀ©Õ¹
ÏÖÔÚÒÔ»úÆ÷ÊÓ¾õ¡¢È˹¤ÖÇÄÜ¡¢×Ô¶¯¼ÝÊ»µÈΪ´ú±íµÄм¼ÊõÍ»·ÉÃͽø£¬¶ø¹¤Òµ¿ØÖÆÉϵĺܶ༼ÊõÈÔȻͣÁôÔÚ20Äêǰ¡£ÒÔÒÆ¶¯»úÆ÷ÈËÖеĵ¼º½³¡¾°ÎªÀý£¬»ùÓÚÊÓ¾õ»òÕß¼¤¹âµÄµ¼º½·½·¨ÐèÒª²É¼¯´óÁ¿µÄÊý¾Ý²¢¶ÔÆä½øÐд¦Àí£¬ÆäÖÐÉæ¼°Ï൱¶àµÄ¾ØÕó¼ÆËã¡£
¶øÏÖÔÚPLCÖ»ÄܽøÐÐÂäºóµÄһάÊý×Ö¼ÆË㣬ÄÑÒÔʵÏÖ¸´ÔÓµÄËã·¨¡£ÓëÈ˹¤ÖÇÄÜȦ×Óϲ»¶¿ªÔ´µÄ·ç¸ñÕýºÃÏà·´£¬¹¤Òµ¿ØÖÆÈ¦×ÓÏ໥·â±Õ£¬Ë¶¼²»¿Ï¿ª·Å×Լҵĺ¯Êý¿â£¬¿ªÔ´º¯Êý¿â¼«ÉÙ£¨OSCAT£©£¬¾ÍÁ¬×î»ù±¾µÄÂ˲¨Ëã·¨¡¢¾ØÕó¼ÆËã¶¼Òª×Ô¼º´ÓÍ·¿ªÊ¼Ð´¡£¶øÇÒ£¬¹ú¼Ê±ê×¼ÌṩµÄ»ù±¾º¯ÊýÌ«¹ýÓÐÏÞ£¬ÍêÈ«ÎÞ·¨ÊÊӦеij¡¾°£¬¼±ÐèÀ©Õ¹¡£
3 ÄÑÒÔ¸üÐÂ
ÓÉÓÚÍêÈ«ÒÀÀµCoDeSys£¬¿Í»§×Ô¼º²úÆ·Ó²¼þµÄÉý¼¶»»´úÐèÒªÖØÐ¶¨ÖÆÒÆÖ²£¬µ¼Ö³ɱ¾Ôö¼Ó¡£
3¡¡¿ªÔ´·½°¸
Ŀǰ´æÔÚһЩ¿ªÔ´µÄ¿ØÖÆÏµÍ³·½°¸£¬ÀýÈçBeremiz¡¢Orocos¡¢OpenPLC¡¢OpenRTM¡¢ORCA¡£
¿ª·¢»úÆ÷ÈË¿ØÖÆÆ÷ÊǸö·±ÖصŤ×÷£¬ÒªÃ÷ȷһϵÁÐÐÔÄÜÒªÇó£¬Ê×ÏÈÊÇʵʱÐÔ¡£
ʵʱÐÔ¶ÔÓÚ¹¤Òµ»úÆ÷ÈËÀ´ËµÒ»°ãÊDZØÐëµÄ£¬¶ÔÓÚ·þÎñ»òÓéÀÖ»úÆ÷ÈËÔòδ±Ø¡£Ò»°ãÈ˺ÜÈÝÒ×´í°Ñ¡°ÊµÊ±ÐÔ¡±Àí½âΪ´¦Àí»òÕßÏìÓ¦Ëٶȿ죬µ«ÊÇÆäʵ¡°ÊµÊ±ÐÔ¡±±íʾʱ¼äÉϵġ°È·¶¨ÐÔ¡±£¬ÀýÈçʵʱ²Ù×÷ϵͳ£¨RTOS£©ÖеÄÖжÏÏìÓ¦»òÕß½ø³ÌÇл»µÄÑÓ³Ùʱ¼äÒ»¶¨ÊÇÔÚÒ»¸öʱ¼ä·¶Î§ÄÚ¡£
ÎÒÃdz£ÓõIJÙ×÷ϵͳ£¨Windows¡¢Linux£©¶¼²»ÊÇʵʱ²Ù×÷ϵͳ£¬ÒòΪËüÃÇÉè¼ÆµÄ³õÖÔÊÇÍÌÍÂÁ¿£¬²»Äܱ£Ö¤Ã¿¸öʼþ¶¼ÔÚÒ»¶¨·¶Î§Äڵõ½´¦Àí¡£ÔÙ±ÈÈ磬±ê×¼ÒÔÌ«ÍøµÄ´«ÊäËٶȱÈʵʱ¹¤ÒµÒÔÌ«Íø¿ì¶àÁË£¬µ«ÊÇËüҲȴ²»ÊÇʵʱµÄ£¬ÒòΪËüͬÑù²»Äܱ£Ö¤Êý¾ÝÔÚ¸ø¶¨µÄʱ¼äÄÚÍê³É´«Êä¡£
Àí½âʵʱÐÔ²»Ì«ÄÑ£¬¿ÉÊÇ»úÆ÷ÈËÄÄЩµÄÈÎÎñÐèҪʵʱÔËÐÐÄØ£¿ÈçºÎ¸ù¾Ý»úÆ÷È˵ÄÐÔÄÜÒªÇóÈ·¶¨³ÌÐòÔËÐеÄʱ¼ä¼ä¸ôÄØ£¨ÊÇ1ms»¹ÊÇ10ms£©£¿ÊµÊ±ÐÔÈ¡¾öÓÚÓ²¼þ»¹ÊÇÈí¼þÄØ£¿
ÈçºÎ¸ù¾ÝʵʱÐÔÑ¡Ôñ¾ßÌåµÄÈíÓ²¼þÄØ£¨¸ÃÑ¡ÔñARM»¹ÊÇX86¡¢Linux RTAI»¹ÊÇVxWorks£©£¿ÍøÉÏȱÉÙÕâ·½ÃæµÄÉîÈëÌÖÂÛ£¬¸÷´ó»úÆ÷È˳§¼ÒÒ²²»»á¹«¿ª×Ô¼ºµÄ²âÊÔºÍÊÔÑé½á¹û£¬ËƺõÕâ·½ÃæÖ÷ÒªÒÀ¿¿¾ÑéºÍÊÔ´í¡£
ÕâÀïÎÒÒ²Ö»ÄÜÌṩ¼¸¸öÖ¸±ê£¬Ä¿Ç°¹¤Òµ»úе±ÛµÄ¿ØÖÆÖÜÆÚÊÇ1ms×óÓÒ£¬ÐÔÄܽϸߵÄËÅ·þÇý¶¯Æ÷λÖû·µÄ¿ØÖÆÖÜÆÚ¿ÉÒÔ´ïµ½125[Math
Processing Error] mu s¦Ìs¡£
PLCopen¶¨ÒåÁËËÅ·þºÍÔ˶¯¿ØÖƵÄһЩ±ê×¼£¬°üÀ¨±à³ÌÓïÑÔ¡¢Ô˶¯¿ØÖÆ»ù´¡º¯Êý¿é£¨Function
Block£©¡¢ÊäÈëÊä³ö½Ó¿ÚµÄ²ÎÊýµÈ[Math Processing Error] ^{[3]}
|