如何在wincc中通过KepserverEx和s7200使用modbus连接?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在wincc中通过KepserverEx和s7200使用modbus连接?相关的知识,希望对你有一定的参考价值。

参考技术A 为什么不用西门子的pc access,这个是西门子的软件,肯定不kepserver这样的第三方的OPC驱动要好一些。pc access 也是免费的追问

pc access 支持modbus协议吗

如何在jQuery中通过id动态分配Select2值

【中文标题】如何在jQuery中通过id动态分配Select2值【英文标题】:How to assign Select2 value by dynamic by id in jQuery 【发布时间】:2021-09-25 08:22:06 【问题描述】:

有一个包含这些值的 select2 下拉列表


  "id": 9050020,
  "text": "Selected Folders",
  "keyword": "S"
, 
  "id": 9050021,
  "text": "All Folders",
  "keyword": "A"

当我收到 Select2 值的后端响应时,它会显示为“A”。那么如何将选择字段设置为“所有文件夹”?

这是选择填充:

<select data- data-placeholder="Select an option" id="foldertype" name="foldertype">

【问题讨论】:

这个问题有点不清楚,你可能会要求更多,因为你的意思是。也许***.com/q/25187926/367456 有帮助。 您需要提供更多详细信息,特别是关于如何将 keyword 值转换为 text 或如何“获取后端响应”(什么甚至是“select2 的后端响应”?)正如所提供的(假设是一个数组),select2 按预期返回带有 id 和 text 的数据:jsfiddle.net/w2uvo6zs 也许我误解了 - 您是否使用这些值加载您的 select2,然后想要选择与 A 匹配的那个? select2 确实保留您传递给它的所有数据:jsfiddle.net/w2uvo6zs/1 但您似乎只能获取 selected 值的原始数据。因此,您可以保留在您自己的变量中提供的数据副本并对其进行搜索,或者遍历所有选择选项并将 select2 设置为在每个选项上都处于活动状态,获取其数据,检查,重复。最好保留一份副本。 【参考方案1】:

您可以通过按 ID 选择“所有文件夹”选项并触发 change 事件来设置它。

见:"Selecting options"

var data = [
  "id": 9050020,
  "text": "Selected Folders",
  "keyword": "S"
, 
  "id": 9050021,
  "text": "All Folders",
  "keyword": "A"
];

var $select = $('#foldertype').select2( data: data ); // Convert

var found = data.find(function(entry)  return entry.keyword === 'A' );
if (found) 
  $select.val(found.id).trigger('change')
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js"></script>
<select data- data-placeholder="Select an option" id="foldertype" name="foldertype">

这是一个使用 jQuery 插件的修改示例。请记住,这确实引用了外部数据源。它只是引用&lt;option&gt; 子元素。

(function($) 
  $.fn.setSelection = function(value, isText) 
    var oldVal = this.val();
    if (isText) 
      this.find('option').filter(function() 
        return $(this).text() === value.trim();
      ).prop('selected', true);
     else 
      this.val(value);
    
    if (this.val() !== oldVal) 
      this.trigger('change');
    
    return this;
  
)(jQuery);

const data = [
   "id": 9050020 , "text": "Selected Folders" , "keyword": "S" ,
   "id": 9050021 , "text": "All Folders"      , "keyword": "A" 
];

$('#foldertype').select2( data ).setSelection('All Folders', true);
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js"></script>
<select data- data-placeholder="Select an option" id="foldertype" name="foldertype">

【讨论】:

var found = data.find(function(entry) return entry.keyword === 'A' ); 以匹配 OPs 特定要求(作为 OPs 要求的一种可能解释)

以上是关于如何在wincc中通过KepserverEx和s7200使用modbus连接?的主要内容,如果未能解决你的问题,请参考以下文章

西门子 S7-300 以太网模块连接 WINCC方案

西门子S7TCP转ModbusTCP模块wincc通信

西门子S7TCP转ModbusTCP模块wincc通信

关于两套400H冗余系统公用一套WINCC问题?

谁有西门子S7-300的视频教程和SIMATIC WinCC flexible 2007视频教程 18 西门子触摸屏编程软件

怎样用PLC读取一个外部的数字信号,然后在WINCC中显示出来?