Ïêϸ½éÉÜ
vbÓëÈýÁâplcͨѶµÄ·½·¨£¬ ÒÔ¼°
vbÓëÈýÁâplcͨÐÅ¡£
ÔÚ¹¤ÒµÉú²úÖУ¬ÈËÃdz£³£ÃæÁÙ×ÅÊý¾Ý²É¼¯Óë¹ÜÀí¡£×÷Ϊ¹¤³§×Ô¶¯»¯µÄÈý´óÖ§Öù¿É±à³Ì¿ØÖÆÆ÷ plc£¨programmable logic controller£©£¬ÓÉÓÚÆä°²È«¿É¿¿£¬¹ã·ºµÄÓÃÓÚÊý¾Ý²É¼¯Óë¿ØÖÆ¡£Éú²ú¹ý³ÌÖУ¬Òª¼àÊÓplcÄÚ²¿µÄÊý¾ÝÓëÔËÐÐ×´¿ö£¬Ñ¡ÓÃÊг¡ÉϵÄÈË»ú½çÃæ»ò×é̬Èí¼þ£¬ËäÈ»¹¦Äܷḻ£¬µ«´ó¶¼¼Û¸ñ°º¹ó£¬ÔÚһЩÖÐС¹æÄ£µÄÉú²ú³¡ºÏ£¬ÈËÃÇÏ£ÍûÄÜ×Ô¼ºÓø߼¶ÓïÑÔ¿ª·¢Ò»¸ö¼òÒ×ʵÓõÄͨÐųÌÐò¡£Ê¹ÓÃvisual basic 6.0£¬¿ª·¢´®ÐÐͨÐųÌÐòʱ£¬ÓÐÁ½ÖÖ·½·¨£¬Ò»ÖÖÊÇÓÃwindows apiº¯Êý£¬ÁíÒ»ÖÖÊÇÓÃvbÖ§³ÖµÄͨÐſؼþ mscomm¡£ÒÔϽéÉÜʹÓÃͨÐſؼþ·½Ê½ÊµÏÖͨѶ
1.Ó²¼þ
²ÉÓÃsc-09±à³ÌµçÀ£¬Á¬½Ópc´®¿ÚÓëplc±à³Ì¿ÚʵÏÖͨѶ¡£
2£®plc±à³Ì¿ÚµÄͨÐÅÐÒé¼ò½é
ͨПñʽ£º
²¨ÌØÂÊ9600£¬Å¼Ð£Ñ飬8λÊý¾Ýλ£¬Ò»Î»Í£Ö¹Î»¡£ ¾ßÌåÇë²Î¿¼ÓйØ×ÊÁÏ£¬ÒÔϾÙÀý˵Ã÷ÆäͨѶ¸ñʽ
1£©¡¢device read£¨¶Á³öÈíÉ豸״ֵ̬£©
¼ÆËã»úÏòplc·¢ËÍ£º
3£®vbÓëÈýÁâplcͨѶ¾ßÌå³ÌÐò˵Ã÷
mscomm¿Ø¼þ¼ò½éÓÃÀ´Ìṩ¼òµ¥µÄ´®Ðж˿ÚͨÐŹ¦ÄÜ£¬Ò²¿ÉÒÔÓÃÀ´´´½¨¹¦ÄÜÍ걸¡¢Ê¼þÇý¶¯µÄ¸ß¼¶Í¨Ðʤ¾ß¡£mscomm¿Ø¼þÌṩÁËһϵÁбê׼ͨÐÅÃüÁîµÄʹÓýçÃæ¡£Ê¹ÓÃËü¿ÉÒÔ½¨Á¢Óë´®Ðж˿ڵÄÁ¬½Ó£¬Í¨¹ý´®Ðж˿ÚÔÙÁ¬½Óµ½ÆäËüÉ豸£¨Èçµ÷ÖÆ½âµ÷Æ÷¡¢plc£©£¬·¢³öÃüÁ½»»»Êý¾Ý£¬ÒÔ¼°¼àÊÓºÍÏìÓ¦´®ÐÐÁ¬½ÓÖз¢ÉúµÄʼþºÍ´íÎó¡£
Êý¾Ý¶ÁÓëд²ÉÓú¯ÊýinputºÍoutput
£¨1£©´°¿Ú¼ÓÔØ³ÌÐò
private sub form_load£¨£©
mscomm1.commport = 1 ‘Ñ¡Ôñcom1¿Ú
mscomm1.settings = "9600,e,7,1"
if mscomm1.portopen=false then mscomm1.portopen=true
end sub
£¨2£©Êý¾Ý¶ÁÈ¡×Ó³ÌÐò£º
public function getdata£¨byval startaddress as string, byval getbytes as integer, byval hex_bytes as string£© as string
mscomm1.inputlen = getbytes £ª 2 + 4
mscomm1.output = stx + cmd_read + startaddress + hex_bytes + etx + getsumchk£¨cmd_read + startaddress + hex_bytes + etx£©
‘´«ËÍÊý¾Ý×é³É£ºÆðʼ·û+ÃüÁî+Ê×µØÖ·+Êý¾Ýλ+½áÊø·û+ºÍ¼ìÑéÂë
getdata = mscomm1.input
mscomm1.inbuffercount = 0
mscomm1.inputlen = 0
end function
ÒÔÉÏÊÇvbÓëÈýÁâplcͨѶµÄ·½·¨£¬Èç¹ûÄú¶ÔvbÓëÈýÁâplcͨÐÅÓÐʲôÒÉÎʵϰ£¬¿ÉÒÔÔÚϱßÁôÑÔ£¬»ñÈ¡°ïÖú¡£