PIC��Ƭ�C�c�|��������ͨ�ŵ�MODBUS�f(xi��)�h���F(xi��n)
�����н�(j��ng)����Ҫ�^��ϵ�y(t��ng)���\�Р�B(t��i)�������\�Ѕ���(sh��)���|�����܉�ֱ�^�����ӵ��@ʾ�\�Ѕ���(sh��)���\�Р�B(t��i)������ͨ�^�|�����������ֱ����ϵ�y(t��ng)�\�Ѕ���(sh��)���˙C�����Ժ�����Ƭ�C�V�������ڹ����I�������c�|����������ɽM�����õ��˙C�����h(hu��n)�����|�����͆�Ƭ�Cͨ������Ҫ����(j��)�|�������õ�ͨ�Ņf(xi��)�h���Ƭ�C����������ͨ�ų�����Modbus�f(xi��)�h������Modicon��˾�Ƴ���һ�N��Ч֧�ֿ�����֮�g�Լ���������(j��ng)�ɾW(w��ng)�j��������̫�W(w��ng)���������O��֮�g�M��ͨ�ŵąf(xi��)�h��������PIC16F877��Ƭ�C���˙C�������˾��eView MT510T���|������������B��ͨ�ų�����_�l(f��)�^����
1 ϵ�y(t��ng)�Y��
���F(xi��n)�|�����c��Ƭ�C��ͨӍ����Ҫ�ǽ�QͨӍ�f(xi��)�h�Ć��}������ʹ���_�ŵ�ModbusͨӍ�f(xi��)�h�����|��������վ����Ƭ�C����վ��eView�|��������֧��ModbusͨӍ�f(xi��)�h�������Ƭ�CҲ֧��Modbus�f(xi��)�h���Ϳ����M��ͨ���ˡ��|�����c��Ƭ�C֮�g���õ�RS-232C���ݽӿ�ֱ���B������ݔ�����O�Þ�9600kb/s���D1��ԓϵ�y(t��ng)���·�D��
��PIC16F877��Ƭ�CRC6��RC7���O�Þ鮐������ͨ��ģʽ����(j��ng)�^MAX232оƬ��TTL�ƽ�D�Q��RS232�ƽ�����ceView�|����plc[RS-232]�ӿ����B���������Ӳ���B����eView�|����PLC[RS-232]�ӿڵĹ��_2��TXD�����_3��RXD��
2 Modbusͨ�Ņf(xi��)�h��B
Modbusͨ�Ņf(xi��)�h��һ�N���е�����ͨ�Ņf(xi��)�h���W(w��ng)�j��H��һ�_�O�ÿ��������C���QMaster���������O������ęC���QSlaver�������C���辎̖���ęC��횾�̖���f(xi��)�h���x�����C��ԃ���ęC�������Ϣ����ʽ��ͨ�ŕr�����C������ęC�l(f��)��Ո����Ϣ������������ַ�a�ďęC����ͨӍ����������ȥ��ַ�a���xȡ��Ϣ������]�г��e���t��(zh��)���������΄���Ȼ��ш�(zh��)�нY�����o���C����ęC���յ���У�a�c���CӋ��IJ�ͬ���t�f����(sh��)��(j��)��ͨ���^���г��F(xi��n)�e�`���ęC���@��Ո��ҕ��oЧ�����ܴ��a������������ָ���ؑ���Ϣ���e�`����ͬ�r��(sh��)��(j��)�ΰ������������e�`��Ϣ�Ĵ��a�������C�յ��@һ��Ϣ�r�������°l(f��)��Ո����Ϣ��Уʽ�֞�LCR�����͔�(sh��)��(j��)��ACSII�r��У��CRC�����͔�(sh��)��(j��)����M�ƕr��У����@�����CRCУʽ��
��Ϣ��ݔ�鮐����ʽ�������ֹ�(ji��)���λ������վ֮�gͨӍ���ָ�ʽ���1��ʾ��
��1 ͨӍ���ָ�ʽ
�ָ�ʽ�����Д�(sh��)��(j��)�� | 10λ���M�� |
��ʼλ | 1λ |
��(sh��)��(j��)λ | 8λ |
��żУ�λ | �o |
ֹͣλ | 1λ |
Modbus�f(xi��)�h��֧��ASCII�a����M�Ƹ�ʽ�Ĕ�(sh��)��(j��)��ݔ��ACSII�a��ʽ��ÿһ���ֹ�(ji��)��(sh��)��(j��)�փɂ��ֹ�(ji��)���������M�Ʒ�ʽ����һ���ֹ�(ji��)���������˜p�ٔ�(sh��)��(j��)��ݔ����һ���x���M�Ɣ�(sh��)��(j��)��ʽ�������^(q��)���S�l(f��)�͵��ֹ�(ji��)����16�M�Ƶ�0��9��A��F�����M����Ϣ���˜ʽY���飺
��ʼ�Y�� ��4�ֹ�(ji��)�ĕr�g
��ַ�a 1�ֹ�(ji��)
���ܴa 1�ֹ�(ji��)
��(sh��)��(j��)�^(q��) N�ֹ�(ji��)
�e�`У� 16λCRC�a
�Y���Y�� ��4�ֹ�(ji��)�ĕr�g
���M��ģʽ������Ϣ�_ʼ������Ҫ3.5���ַ����oֹ�r�g������(j��)ʹ�õIJ�������������Ӌ���@���oֹ�r�g���l(f��)�������һ���ַ�����Ҳ��һ������3.5���ַ����oֹ�r�g��Ȼ����ܰl(f��)��һ���µ���Ϣ���W(w��ng)�j�ϵ��O���B�m(x��)�O(ji��n)�y�W(w��ng)�j�ϵ���Ϣ�������oֹ�r�g��
3 ��Ƭ�C�c�|������ַ�Č����Pϵ
eView�|����ֻ֧��Bit��Word��ַ����������H�Ć�Ƭ�C������������߀��Byte��Double Word�ȱ�ʾ������������M��ͨ�ŕr����Ҫ�ц�Ƭ�C���|�����Ĕ�(sh��)��(j��)�M��׃�Q���|��������Ԫ���xȡ��ַ���O�������LW��0x��1x��3x��4x��RWI��RW���x������У�LW��ʾԓԪ���xȡ�����|������(n��i)���ĵ�ַ��������Ԫ���ĵ�ַ��0x��ʾ�xȡ���ǿ�������ݔ����̖��1x��ʾ�xȡ�Ŀ�������ݔ����̖;3x��4xָ�������ļĴ�����ַ���������4x�ǿ��x�Ɍ�����3x��ֻ�x��;RWI��RW�����|�����ă�(n��i)����ַ�����o��������ʹ���@Щ�xȡ��ַ���O��������|���������@ʾ���O���������Ĵ�����I/O�ڵĔ�(sh��)ֵ���ԡ���(sh��)ֵݔ�롱Ԫ��������ͨ�^��С�I�P��ݔ�딵(sh��)��(j��)�����O�Æ�Ƭ�C�Ĵ�����I/O�ڵĔ�(sh��)ֵ����������ˡ��|�l(f��)��ַ������ô�����|�ؕr��ݔ��Ĕ�(sh��)��(j��)�ͱ���ŵ���ָ���Ć�Ƭ�C��ַ����
4 ͨ�ų�����_�l(f��)
�|�����c��Ƭ�C��ͨ�ų������PIC��Ƭ�CC�Z�Ծ��������g�����x��Hitech��˾��PICC���g������������ģ�K������ʼ��ģ�K����(sh��)��(j��)����ģ�K�Լ���(sh��)��(j��)̎�����l(f��)��ģ�K�����������̈D��D2��ʾ��
PIC16F877��Ƭ�CUSART����ģ�K����һ����λ�IJ����ʰl(f��)����BRG��BRG֧��USART��ͬ���ͮ���������ʽ����SPBRG�Ĵ�������һ�������İ�λ���r�����������ڮ�����ʽ�£��l(f��)�͠�B(t��i)/���ƼĴ���TXSTA��BRGHλ����D2�����Á����Ʋ������������п��M�еij�ʼ�����£�
GIE=1; %ȫ���Д����S;
SPBRG=25; %�O�ò����ʞ�9600��
TXSTA=0x04�� %�x�����ٷ�ʽ��
RCSTA=0x80; %���Sͬ�����пڹ�����
RTISC6=1��
TRISC7=1�� %��C�ڵ�RC6��RC7�O�Þ鮐������ͨ��ģʽ��
PFIE=1; %����ӿ��Д����S��
RCIE=1; %USART���������S��
TXIE=1; %USART�l(f��)�������S��
��(sh��)��(j��)����ģ�K��һ���Дຯ��(sh��)�M�ɡ�ԓ�Дຯ��(sh��)���|�����l(f��)����Modbus��(sh��)��(j��)���惦��һ���Զ��x�Ĕ�(sh��)�M������һ����(sh��)��(j��)������r���ý��սY����־λ��1���D�딵(sh��)��(j��)̎�����l(f��)��ģ�K������ͨ�Ž������ĺ����ǽ�����λ�Ĵ���RSR�������յ�ֹͣ�r�����RCREG���_�������RSR�Ͱѽ��յ��Ĕ�(sh��)��(j��)����RCREG��������ɺ��������Д���־λRCIF����1�����H���Д��Ƿ�CPU푑�������ͨ�^�O������ӿ��Д����S�Ĵ���PIE1���Д����SλRCIE�����ơ�
��(sh��)��(j��)̎�����l(f��)��ģ�K��(zh��)��Modbus�f(xi��)�h���ܴa�������\����eView�|�����c��Ƭ�C��Modbus�f(xi��)�hͨ�ţ��õ���Modbus���ܴa���2��ʾ��
��2 ͨ�ų����õ��Ĺ��ܴa
���ܴa | eView��ַ���Q | �� �x | �� �� |
01 | 0x | �x�_�P��ݔ�� | �xȡһ·���·�_�P��ݔ����B(t��i) |
03 | 4x | �x���ּĴ��� | �xȡһ����������ּĴ����Ĕ�(sh��)��(j��) |
05 | 0x 1x | ���_�P��ݔ�� | ����һ·�^����ġ���/�ϡ�ݔ�� |
16 | 3x 4x | �A�ö�Ĵ��� | �Ѿ��w�Ĕ�(sh��)��(j��)�b��һ�M�B؞�ı��ּĴ��� |
��Modbus���ܴa03�������f���|��������Ƭ�C�Č��Hͨ�Ŕ�(sh��)��(j��)��ʽ�����Ƭ�C��ַ��̖��01H���|������Ҫ�鿴��Ƭ�C�е�ַ��0031H�ļĴ�����ֵ���l(f��)�������ʽ���3��ʾ��
��3 �|�����l(f��)�͔�(sh��)��(j��)�Y��
��(sh��)��(j��)�����Q | ��(sh��)��(j��)ֵ |
��ַ | 01 |
���ܴa | 03 |
�xȡ��ַ��λ | 00 |
�xȡ��ַ��λ | 31 |
�xȡ��(sh��)��(j��)����(sh��)��λ | 00 |
�xȡ��(sh��)��(j��)����(sh��)��λ | 01 |
CRCУ�a��λ | D5 |
CRCУ�a��λ | C5 |
���O��Ƭ�C�е�ַ��0031H�ļĴ����Д���05H���t��Ƭ�C�Ļ؏��������4��ʾ��
��4 ��Ƭ�C����(sh��)��(j��)�Y��
��(sh��)��(j��)�����Q | ��(sh��)��(j��)ֵ |
��ַ | 01 |
���ܴa | 03 |
�xȡ�ֹ�(ji��)��(sh��) | 02 |
�Ĵ�����(sh��)��(j��)��λ | 00 |
�Ĵ�����(sh��)��(j��)��λ | 05 |
CRCУ�a��λ | 78 |
CRCУ�a��λ | 47 |
���������_��38400kb/s�r��ͨ����Ȼ��(w��n)���ɿ�����ϵ�y(t��ng)�����B���·���Ρ��M�B(t��i)�`����ͨ�ſɿ��Ըߵ����c�����ѳɹ����������ϺY�x����ϵ�y(t��ng)�Ŀ��������Modbusͨ�Ņf(xi��)�h���_���Ե����c�������M�ڿ���������ͨ�Ŵ���֧��ԓ�f(xi��)�h����˱��������F(xi��n)�IJ���Modbus�f(xi��)�h�Ĵ���ͨ�ž��ЏV���đ��Ãrֵ��

����admin ����ĕr�g��2018-05-08