xiuos/APP_Framework/Applications/control_app/plc_demo/siemens
jqy1988 d2ec2ba096 add simens 1200plc test app and json 2024-03-13 09:13:15 +08:00
..
json add simens 1200plc test app and json 2024-03-13 09:13:15 +08:00
Makefile add simens 1200plc test app and json 2024-03-13 09:13:15 +08:00
README.md modify siemens app readme 2023-04-27 02:54:02 -07:00
siemens_s7_200_cn.c modify XiUOS DIR : (1.add plc_demo in APP_Framework/control_app; 2.add industrial_network、industrial_fieldbus and industrial_wlan; 3.add XiZi_AIoT and modify XiZi as XiZi_IIoT.) 2022-09-27 20:39:52 +08:00
siemens_s7_200_smart.c new paragraph named xdh_60t4_e.c xsdh_60a32_e.c omron_cp1l.c 2023-04-13 19:55:40 -07:00
siemens_s7_1200.c add simens 1200plc test app and json 2024-03-13 09:13:15 +08:00
siemens_s7_1500.c Add S7 protocol and a S7 App demo 2023-04-18 19:52:24 -07:00

README.md

SIEMENS - S7-1512通信测试

[TOC]

通信接线及参数设置

  • 本体以太网口

  • S7协议PLC IP192.168.250.2Port102

存储区

  • 存储区 QDB区。

JSON配方设计

  • 共测试BOOLINT16共2种类型数据,以下为JSON文件解释。

    • {
          "device_id": 1,                     //设备ID默认是1此参数无效
          "device_name": "S7-1512",           //设备名称,自定义
          "communication_type": 0,            //通讯协议类型 0是以太网1是串口 
          "socket_config": {                  //以太网配置
              "plc_ip": "192.168.250.2",      //PLC的IP地址
              "local_ip": "192.168.250.233",  //矽达通IP地址设定
              "gateway": "192.168.250.1",     //矽达通的网关地址设定
              "netmask": "255.255.255.0",     //矽达通子网掩码设定
              "port": 102                     //端口号设定
          },
          "protocol_type": 1,                 //通讯协议5代表FINS协议
          "read_period": 100,                 //交互周期ms
          "read_item_list": [
              {
                  "value_name": "布尔1",    //变量名称,自定义
                  "value_type": 1,         //变量类型BOOL = 1,INT8 = 2,INT16,INT32,UINT8,UINT16,UINT32,DOUBLE,FLOAT = 9
                  "area": "Q",             //变量功能块
                  "wordlen": "Bit",        //变量字长类型,有Bit Byte Word DWord Real Counter Timer
                  "db_number": 1,          //如为DB区填写对应的DB块编号,如不是DB区无效
                  "start": 1,              //BOOL地址偏移位采集变量地址是Q0.1   
                  "amount": 1              //BOOL长度默认是1代表读取1个BOOL长度
              },
      		{ 
                  "value_name": "整型",     //变量名称,自定义
                  "value_type": 3,         //变量类型BOOL = 1,INT8 = 2,INT16,INT32,UINT8,UINT16,UINT32,DOUBLE,FLOAT = 9
                  "area": "DB",            //变量功能块
                  "wordlen": "Word",       //变量字长类型,有Bit Byte Word DWord Real Counter Timer
                  "db_number": 18,         //如为DB区即DB18块
                  "start": 2,              //Word地址偏移位采集变量地址是DB18.DBW2 
                  "amount": 1              //Word长度默认是1代表读取1个WORD长度2个字节
              },
              {
                  "value_name": "浮点数",   //变量名称,自定义
                  "value_type": 9,         //变量类型BOOL = 1,INT8 = 2,INT16,INT32,UINT8,UINT16,UINT32,DOUBLE,FLOAT = 9
                  "area": "DB",            //变量功能块
                  "wordlen": "Real",       //变量字长类型,有Bit Byte Word DWord Real Counter Timer
                  "db_number": 18,         //如为DB区即DB18块
                  "start": 18,             //Real地址偏移位采集变量地址是DB18.DBD18 
                  "amount": 1              //Real长度默认是1代表读取1个Real长度4个字节
              }
          ]
      }
      

通信测试

(1) 新增1个通信demo命名为simens_s7_1500.c

(2) 复制样例代码程序到simens_s7_1500.c文件中

(3) void ControlS71500Test(void)更改函数名;

(4) PRIV_SHELL_CMD_FUNCTION(ControlS71500Test, Siemens Plc S7_1512 Demo, PRIV_SHELL_CMD_MAIN_ATTR);更改测试指令;

(5) 剪裁配置完成后,用过烧写器下载至矽达通中,重启后完成测试。