Windows下基于ModbusRtu的Slave端开发C语言版


亲测在windows7下可用
资源截图
代码片段和文件信息
#include 
#ifndef _MSC_VER
#include 
#endif
#include 
#include 

#include “modbus.h“

#define SERVER_ID 17

int main(void)
{
  modbus_t *ctx;
  modbus_mapping_t *mb_mapping;


  ctx = modbus_new_rtu(“COM4“ 19200 ‘N‘ 8 1);
  modbus_set_slave(ctx SERVER_ID);

  if(modbus_connect(ctx)==-1)
  {
    fprintf(stderr “Connection failed:%s
“ modbus_strerror(errno));
modbus_free(ctx);
return -1;
  }

  modbus_set_debug(ctx TRUE);


  mb_mapping=modbus_mapping_new(500500500500);
  if(mb_mapping==NULL)
  {
    fprintf(stderr “Error mapping:%s
“ modbus_strerror(errno));
modbus_free(ctx);
return -1;
  }

  
  for(;;)
  {
    uint8_t query[MODBUS_TCP_MAX_ADU_LENGTH];
int rc;

rc = modbus_receive(ctx query);
if(rc>=0)
{
  
modbus_reply(ctxqueryrcmb_mapping);
}
else
{
  
printf(“Connection Closed
“);
}
  }

  printf(“Quit the loop: %s
“ modbus_strerror(errno));


  modbus_mapping_free(mb_mapping);
  modbus_close(ctx);
  modbus_free(ctx);
  return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-06-29 10:30  TestRtuSlave
     目录           0  2017-06-29 09:05  TestRtuSlaveDebug
     文件       28160  2017-06-20 14:04  TestRtuSlaveDebugTestRtuSlave.exe
     文件         406  2017-06-20 14:04  TestRtuSlaveDebugTestRtuSlave.exe.manifest
     文件      339432  2017-06-20 14:04  TestRtuSlaveDebugTestRtuSlave.ilk
     文件      437248  2017-06-20 14:04  TestRtuSlaveDebugTestRtuSlave.pdb
     目录           0  2017-06-29 09:05  TestRtuSlaveRelease
     文件        7168  2017-06-20 14:06  TestRtuSlaveReleaseTestRtuSlave.exe
     文件      273408  2017-06-20 14:06  TestRtuSlaveReleaseTestRtuSlave.pdb
     目录           0  2017-06-29 09:05  TestRtuSlaveTestRtuSlave
     目录           0  2017-06-29 09:05  TestRtuSlaveTestRtuSlaveDebug
     文件       15208  2017-06-20 14:04  TestRtuSlaveTestRtuSlaveDebugCL.read.1.tlog
     文件         338  2017-06-20 14:04  TestRtuSlaveTestRtuSlaveDebugCL.write.1.tlog
     文件        1091  2017-06-20 14:04  TestRtuSlaveTestRtuSlaveDebugTestRtuSlave.Build.CppClean.log
     文件         381  2017-06-20 14:04  TestRtuSlaveTestRtuSlaveDebugTestRtuSlave.exe.intermediate.manifest
     文件          50  2017-06-20 14:04  TestRtuSlaveTestRtuSlaveDebugTestRtuSlave.lastbuildstate
     文件        1964  2017-06-20 14:04  TestRtuSlaveTestRtuSlaveDebugTestRtuSlave.log
     文件       28127  2017-06-20 14:04  TestRtuSlaveTestRtuSlaveDebugTestRtuSlave.obj
     文件           0  2017-06-20 14:04  TestRtuSlaveTestRtuSlaveDebugTestRtuSlave.write.1.tlog
     文件         662  2017-06-20 14:04  TestRtuSlaveTestRtuSlaveDebugcl.command.1.tlog
     文件        1362  2017-06-20 14:04  TestRtuSlaveTestRtuSlaveDebuglink.command.1.tlog
     文件        2776  2017-06-20 14:04  TestRtuSlaveTestRtuSlaveDebuglink.read.1.tlog
     文件         664  2017-06-20 14:04  TestRtuSlaveTestRtuSlaveDebuglink.write.1.tlog
     文件         438  2017-06-20 14:04  TestRtuSlaveTestRtuSlaveDebugmt.command.1.tlog
     文件         168  2017-06-20 14:04  TestRtuSlaveTestRtuSlaveDebugmt.read.1.tlog
     文件         280  2017-06-20 14:04  TestRtuSlaveTestRtuSlaveDebugmt.write.1.tlog
     文件      396288  2017-06-20 14:04  TestRtuSlaveTestRtuSlaveDebugvc100.idb
     文件      110592  2017-06-20 14:04  TestRtuSlaveTestRtuSlaveDebugvc100.pdb
     目录           0  2017-06-29 09:05  TestRtuSlaveTestRtuSlaveRelease
     文件       15208  2017-06-20 14:06  TestRtuSlaveTestRtuSlaveReleaseCL.read.1.tlog
     文件         346  2017-06-20 14:06  TestRtuSlaveTestRtuSlaveReleaseCL.write.1.tlog
............此处省略30个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)