plc连接逻辑修改
This commit is contained in:
1 parent
f406325721
commit
cf65689558
2 files changed
+24
-4
No files matched your search
@@ -5,7 +5,7 @@
|
|||||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||||
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-1141698828038963161" id="ilg.gnuarmeclipse.managedbuild.cross.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT ARM Cross GCC Built-in Compiler Settings " parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="1336382746191491235" id="ilg.gnuarmeclipse.managedbuild.cross.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT ARM Cross GCC Built-in Compiler Settings " parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||||
</provider>
|
</provider>
|
||||||
|
|||||||
+23
-3
@@ -47,6 +47,10 @@ static void mb_plc_read_regs(mb_inst_t *hinst)
|
|||||||
for (int i = 0; i < DI_TABLE_SIZE; i++) {
|
for (int i = 0; i < DI_TABLE_SIZE; i++) {
|
||||||
di_table[i].current_state = (r_buffer[i / 8] >> (i % 8)) & 1;
|
di_table[i].current_state = (r_buffer[i / 8] >> (i % 8)) & 1;
|
||||||
}
|
}
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
rt_thread_mdelay(500);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 输出 m0256 -> RTU 2256
|
// 输出 m0256 -> RTU 2256
|
||||||
@@ -63,16 +67,27 @@ static void mb_plc_read_regs(mb_inst_t *hinst)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 写入 Modbus
|
// 写入 Modbus
|
||||||
mb_write_bits(hinst, 2256, DO_TABLE_SIZE, w_buffer);
|
int mwy = mb_write_bits(hinst, 2256, DO_TABLE_SIZE, w_buffer);
|
||||||
|
if (mwy <= 0)
|
||||||
|
{
|
||||||
|
rt_thread_mdelay(500);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
//输入寄存器d0->6000
|
//输入寄存器d0->6000
|
||||||
u16 r_regsD[AI_TABLE_SIZE];
|
u16 r_regsD[AI_TABLE_SIZE];
|
||||||
// 读 Modbus
|
// 读 Modbus
|
||||||
mb_read_regs(hinst, 6000, AI_TABLE_SIZE, r_regsD);
|
int mrd = mb_read_regs(hinst, 6000, AI_TABLE_SIZE, r_regsD);
|
||||||
|
if (mrd > 0)
|
||||||
|
{
|
||||||
for (int i = 0; i < AI_TABLE_SIZE; i++)
|
for (int i = 0; i < AI_TABLE_SIZE; i++)
|
||||||
{
|
{
|
||||||
ai_table[i].current_Value = r_regsD[i];
|
ai_table[i].current_Value = r_regsD[i];
|
||||||
}
|
}
|
||||||
|
}else {
|
||||||
|
rt_thread_mdelay(500);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
//输出寄存器d100->6100
|
//输出寄存器d100->6100
|
||||||
u16 w_regsD [AO_TABLE_SIZE];
|
u16 w_regsD [AO_TABLE_SIZE];
|
||||||
@@ -81,7 +96,12 @@ static void mb_plc_read_regs(mb_inst_t *hinst)
|
|||||||
w_regsD [i] = ao_table[i].current_Value;
|
w_regsD [i] = ao_table[i].current_Value;
|
||||||
}
|
}
|
||||||
// 写入 Modbus
|
// 写入 Modbus
|
||||||
mb_write_regs(hinst, 6100, AO_TABLE_SIZE, w_regsD);
|
int mwd = mb_write_regs(hinst, 6100, AO_TABLE_SIZE, w_regsD);
|
||||||
|
if (mwd > 0)
|
||||||
|
{
|
||||||
|
rt_thread_mdelay(500);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mb_plc_thread(void *args)//线程服务函数
|
static void mb_plc_thread(void *args)//线程服务函数
|
||||||
|
|||||||
Reference in new issue
Block a user