Siemens — Доступ к данным S7–200

Основы ПЛК Глава 4 35 Пример программы для обращения к данным в таблице с использованием указателя Этот пример использует LD14 как указатель на рецепт, хранящийся в таблице рецептов, которая начинается с VB100. В этом примере VW1008 хранит индекс места конкретного рецепта в таблице. Если каждый рецепт в таблице имеет длину 50 байтов, умножьте индекс на 50, чтобы получить смещение для начального адреса конкретного рецепта. Добавив смещение к указателю, вы можете получить доступ к каждому отдельному рецепту в таблице. В этом примере рецепт копируется в 50 байтов, которые начинаются с VB1500. Сегмент 1 //Передача рецепта из таблицы с рецептами: // - каждый рецепт имеет длину 50 байтов.

// - индексный параметр (VW1008) идентифицирует // рецепт, подлежащий загрузке. // //1. Создание указателя на начальный адрес таблицы // рецептов. //2. Преобразование индекса рецепта в значение // двойного слова. //3. Умножение смещения для учета длины рецепта. //4. Прибавление измененного смещения к // указателю. //5. Передача выбранного рецепта в ячейки с VB1500 // по VB1549. LD SM0.0 MOVD &VB100, LD14 ITD VW1008, LD18 *D +50, LD18 +D LD18, LD14 BMB *LD14, VB1500, 50