Wednesday, December 11, 2024

PLC

List types of Controllers?

  • PID
  • Microcontroller: a computer implemented on a single chip, can be programmed, not expensive but sensitive to noise, and can't be used in industrial apps.
  • PLC
  • DCS
  • SCADA



What are DCS, and DCS components?

Distributed systems connected by network for communications and monitoring.

DCS Componets 

  1. Feild Control System
  2. Enginerring Station: for I/O configuration
  3. Opertor station: for monitoring 

What are SCADA, and SCADA components?





Highly distributed system used to control geographically scattered assets over thousands of square kilometers. Used to collect data and send alarms.

SCADA component:

  1. Human Machine Interface (HMI) for monitoring 
  2. Supervisory (computer) system: gathers process data and sends commands to the process.
  3. Remote Terminal Units (RTUs) : converting sensor signals, sending to the supervisory system
  4. Programmable Logic Controller (PLCs) 
  5. Communication infrastructure:  provides connectivity  


What is meant by PLC?

A Programmable Logic Controller (PLC) is a digital computer used for control; it replaced traditional relays due to their flexibility and reliability. 


Draw plc architecture and discuss the function of its components?

Central Processing Unit (CPU):

  • The "brain" of the PLC.
  • Executes the user program and controls the overall operation.
  • Processes input signals and generates output signals.
  • Manages system memory and communication with other devices.

Input Modules:

  • Receive signals from sensors, switches, and other input devices.   
  • Convert physical signals (e.g., voltage, current) into digital signals.   
  • Transmit the digital signals to the CPU for processing.

Output Modules:

  • Receive signals from the CPU.
  • Convert digital signals into physical signals (e.g., voltage, current).
  • Drive actuators, motors, solenoids, and other output devices.   

Power Supply:

  • Provides the necessary power to the PLC and its components.   
  • Ensures stable operation even in harsh industrial environments.  

Memory:

  • Stores the user program, system data, and configuration settings.   
  • Types of memory:
    • Program memory: Stores the user-defined program logic.   
    • Data memory: Stores temporary and permanent data.
    • System memory: Stores system configuration and diagnostic information.

Communication Interfaces:

  • Enable communication with other PLCs, computers, and network devices.
  • Common interfaces:
    • Serial ports (RS-232, RS-485)   
    • Ethernet
    • Fieldbus (PROFIBUS, CANopen)


Discuss PLC types?
  • Fixed Input/Output: Low cost, does not support extensions.
  • Modular: can expand by including new unit (extension)
  • Rack: expensive; supports 256 input and 256 output.

Draw the Siemens PLC rack; illustrate the main components and their functions?


Slot 1: Power Supply
Slot 2: CPU
Slot 3: Interface Module: for rack-to-rack communication
In Any Slots: 
  • Signal Modules: For input/output modules (Digital Input, Digital Output, Analog Input, and analog output)
  • Function Modules (FM): (High speed counter, Temperature control,...)
  • Communication Processor (CP): for the networking communication


List the category of choosing the industrial PLC?
  1. Memory Size
  2. CPU Speed/Speed of execution
  3. Network capabilities 
  4. Max no. of input
  5. Max no. of output
  6. Type of input (Digital/Analog)
  7. Type of output(Digital/Analog)
  8. Cost
  9. Manufacture 
  10. Vendor 

List the category of choosing the industrial sensors?
  1. Accuracy
  2. Resolution
  3. Repeatability
  4. Range
  5. Linearity
  6. Response Time
  7. Cost
  8. Environment


What is PLC programming Languages?

Concurrent
    1. Ladder Logic (LD)
    2. Function Block Diagram (FBD)
    3. Structured Text (ST)
    4. Instruction List (IL)
Squential
    1. Squential Function Chart
    2. Flow Charts

Compare PLC to PC?

PLC

PC

Programmable Logic Control

Personal Computer

Optimized for single task

Optimized for multitasks

Used in industrial environment for Control tasks

Used for personal tasks

Can operate in High temperature

Can’t operate in High temperature


Compare PLC to a microcontroller?



How to Start/Stop DC Motor, AC 1 Phase, AC 3 Phase Motors?
  • DC, One Phase AC motors need relays to start/stop.
  • AC 3 Phase motor needs condactor.



How to Change Direction for DC Motor, AC 1 Phase, and AC 3 Phase Motors?



  • For a DC motor, just change positive and negative to change the motor direction.
  • For AC 3 Phase: just change the power source between two phases
  • For AC 1 Phase: Make the capacitor in series or in parallel with main coil to change the direction.


How to Change Speed for DC Motor, AC 1 Phase, and AC 3 Phase Motors?
  • For a DC motor: increase volt and give power as pulses to avoid increasing Ampear (using pulse width modulation)
  • For AC 1/3 Phase: increase AC frquancy. 

List Timers Types?
  • S-On Delay Timer (S-ODT): Dealy output with TV value
  • S-Off Delay Timer (S-OffDT): Output start directly with input and continues after input with TV value
  • S-Pulse Extent Timer (S-PEXE): when get input signal a pluse with TV widths will out




Notes:
  • S: Input Signal
  • TV: Time Value ==> S5t#10s
  • Q: Output Signl


List Counters Types?
  1. S-CU: Counter up with no limits, need comparetor to catch the required value.
  2. S-CD: Counter Down From PV to Zero, needs two SET, One when start and Second when Done.
  3. S-CUD: Counter Up/Down, CU increase CV, CD descrease CV.
Notes:
  • Q: Give outputs when CV>0
  • CV: Counter Value ==> C#50
  • S: Set CV with PV value
  • R: Reset all to zeros
  • PV: Preset Value





List Comparators Types (CMP)?
  • Integer: One Word
  • Double: Two Words
  • Float: Two Words

CMP Operations
  • >
  • >=
  • <
  • <=
  • =
  • !=

Explain Analog to Digital Converer Module?
Siemens FC105 used to convert linear analog signal, to give digital output, it needs:

Inputs:
- En: Enable input
- Max input signal, 
- Min input signal, 
- Input signal: PIWx (Preferal Input Word, x refers to any address like 0,1,..)
- BiPolar: if 1 then it accepts positive and negative values; Zero means unipolar.

Outputs
- ENO: Enable output
- Err: Gives 1, or 8 incase of error
- Out: MDx (Memory Double x) 


Notes: I refer to input bit and PIW refer to Input Word (32 bit)



Example

- When Level Low, Open pump till high level, then start heater till 800c
- Open Q01 valve to extract the output with temperature 100c - 300 c
- Q02 gives output with temperature 400c-525c
- Q03 gives output with temperature 550c-700c







Tuesday, September 3, 2024

WebMethods Enterprise Service Bus Platform (ESB)

 WebMethods is a comprehensive integration platform that offers a suite of components to address various integration needs.

July 1, 2024 -- IBM (NYSE: IBM) today announced it has completed its acquisition of StreamSets and webMethods from Software AG after receiving all required regulatory approvals. The acquisition brings together leading capabilities in integration, API management and data ingestion.



WebMethods Products:

1. webMethods Integration Server (WIS): The core integration platform, providing a robust and  scalable solution for connecting applications, data, and services.
2. webMethods BPM: A business process management (BPM) tool for modeling, automating, and optimizing business processes.
3. webMethods B2B Integration: A solution for managing business-to-business (B2B) transactions and data exchange.
4. webMethods Cloud Integration: A cloud-based platform for integrating applications and data across hybrid and multi-cloud environments.
5. webMethods API Management: For designing, building, managing, and monetizing APIs.
6. webMethods Universal Messaging: A messaging platform for reliable and scalable communication between applications.
7. webMethods SOA Suite: A comprehensive suite of tools for service-oriented architecture (SOA) development and management. 


webMethods Integration Server (WIS)

Core Components:

* Integration Server: The central component that orchestrates and manages integration processes.

* Designer: A graphical development environment for creating and editing integration flows.

* Deployer: A tool for deploying integration flows to the Integration Server.

* Monitor: A console for monitoring the status and performance of integration processes.

Integration Services:

* Adapters: Connect to various systems, such as databases, messaging systems, and web services.

* Transformers: Transform data between different formats and structures.

* Mappers: Map data between different schemas.

* Routers: Route messages to different destinations based on specific criteria.

* Callouts: Invoke external services or processes.

* Error Handlers: Handle errors and exceptions that occur during integration processes. Additional Components:

* Security Services: Implement authentication, authorization, and encryption to protect sensitive data.

* Performance Optimization Tools: Optimize integration processes for speed and efficiency.

* Clustering and High Availability Features: Ensure reliability and scalability.


webMethods BPM

Core Components:

BPM Server: The central component that orchestrates and manages

business processes.

Process Designer: A graphical development environment for creating and

editing business process models.

Process Repository: A repository for storing and managing business process

models.

Task Manager: A tool for assigning and managing tasks within business

processes.

Integration Services:

BPM Adapters: Connect to various systems, such as databases, messaging

systems, and web services.

BPM Transformers: Transform data between different formats and structures.

BPM Mappers: Map data between different schemas.

BPM Routers: Route tasks and messages to the appropriate destinations

based on specific criteria.

Additional Components:

Business Rules Engine: A tool for defining and applying business rules within business processes.

Event-Driven Architecture (EDA) Support: Enables event-based triggering and

coordination of business processes.

Analytics and Reporting Tools: Track the performance and efficiency of

business processes.

Mobile and Cloud Integration: Support for integrating business processes

with mobile devices and cloud-based applications.



webMethods B2B Integration

The webMethods B2B Integration platform offers a comprehensive set of components

to manage business-to-business (B2B) transactions and data exchange. Here are

some of the key components:

Core Components:

B2B Server: The central component that orchestrates and manages B2B transactions.

Trading Partner Management: A tool for managing trading partner information,

agreements, and communications.

Document Repository: A repository for storing and managing B2B documents.

B2B Gateway: A secure gateway for exchanging B2B messages with trading partners.

Integration Services:

B2B Adapters: Connect to various B2B communication protocols, such as EDI, AS2,

and FTP.

B2B Transformers: Transform B2B documents between different formats and

structures.

B2B Mappers: Map B2B documents to and from internal business systems.

B2B Routers: Route B2B messages to the appropriate trading partners based on specific criteria.

B2B Error Handlers: Handle errors and exceptions that occur during B2B transactions.

Additional Components:

Security Services: Implement authentication, authorization, and encryption to protect sensitive data.

Performance Optimization Tools: Optimize B2B transactions for speed and efficiency.

Monitoring and Reporting Tools: Track the status and performance of B2B transactions.


webMethods Cloud Integration 

Core Components:

Cloud Integration Platform: The central component that orchestrates and manages cloud

integration processes.

Cloud Integration Designer: A graphical development environment for creating and editing cloud

integration flows.

Cloud Integration Deployer: A tool for deploying cloud integration flows to the Cloud Integration

Platform.

Cloud Integration Monitor: A console for monitoring the status and performance of cloud

integration processes.

Integration Services:

Cloud Adapters: Connect to various cloud-based systems, such as SaaS applications, cloud

storage, and cloud databases.

Cloud Transformers: Transform data between different formats and structures.

Cloud Mappers: Map data between different schemas.

Cloud Routers: Route messages to different destinations based on specific criteria.

Cloud Callouts: Invoke external cloud-based services or processes.

Cloud Error Handlers: Handle errors and exceptions that occur during cloud integration

processes.

Additional Components:

Security Services: Implement authentication, authorization, and encryption to protect sensitive

data.

Performance Optimization Tools: Optimize cloud integration processes for speed and efficiency.

Hybrid Connectivity: Support for connecting to on-premises systems and applications.

Multi-Cloud Support: Support for integrating across multiple cloud platforms.


webMethods API Management

Core Components:

API Gateway: The central component that acts as a proxy for API requests and provides

security, rate limiting, and other governance features.

Developer Portal: A web-based portal for developers to discover, learn about, and

consume APIs.

API Designer: A tool for creating and managing API definitions, including

Swagger/OpenAPI specifications.

API Manager: A console for managing API lifecycle, including publishing, versioning, and

retirement.

Integration Services:

API Adapters: Connect to backend systems and services.

API Transformers: Transform data between different formats and structures.

API Routers: Route API requests to the appropriate backend services.

API Error Handlers: Handle errors and exceptions that occur during API calls.

Additional Components:

Security Services: Implement authentication, authorization, and encryption to protect APIs.

Analytics Tools: Track API usage, performance, and monetization metrics.

Monetization Tools: Create and manage API plans and pricing.

Developer Tools: Provide SDKs, code samples, and documentation to help developers

use APIs.



webMethods Universal Messaging 

Core Components:

UM Server: The central component that orchestrates and manages messaging processes.

UM Broker: A messaging broker that facilitates communication between message producers and consumers.

UM Message Store: A repository for storing messages.

UM Administration Console: A console for managing UM configurations and monitoring messaging activities.

Messaging Services:

Message Producers: Create and send messages to the messaging broker.

Message Consumers: Receive and process messages from the messaging broker.

Message Channels: Define the communication paths between message producers and consumers.

Message Transformers: Transform messages between different formats and structures.

Message Routers: Route messages to the appropriate destinations based on specific criteria.

Message Error Handlers: Handle errors and exceptions that occur during messaging processes.

Additional Components:

Security Services: Implement authentication, authorization, and encryption to protect sensitive data.

Performance Optimization Tools: Optimize messaging processes for speed and efficiency.

Clustering and High Availability Features: Ensure reliability and scalability.

Integration with Other webMethods Products: Integrate with other webMethods products, such as Integration Server and BPM.



webMethods SOA Suite 

The webMethods SOA Suite is a comprehensive suite of tools for service-oriented architecture (SOA) development and management. It includes components from various webMethods products, such as Integration Server, BPM, B2B Integration, and API Management. Some of the key components of the SOA Suite include:

• Integration Server: The core integration platform for connecting applications, data, and services.

• BPM: A business process management (BPM) tool for modeling, automating, and optimizing business processes.

• B2B Integration: A solution for managing business-to-business (B2B) transactions and data exchange.

• API Management: For designing, building, managing, and monetizing APIs.

• Universal Messaging: A messaging platform for reliable and scalable communication between applications.

• Designer: A graphical development environment for creating and editing integration flows, business processes, and API definitions.

• Deployer: A tool for deploying integration flows, business processes, and APIs to the appropriate servers.

• Monitor: A console for monitoring the status and performance of integration processes, business processes, and APIs.

• Security Services: Implement authentication, authorization, and encryption to protect sensitive data.

• Performance Optimization Tools: Optimize integration processes, business processes, and APIs for speed and

efficiency.

• Clustering and High Availability Features: Ensure reliability and scalability.

The SOA Suite provides a unified platform for developing,

deploying, and managing SOA-based solutions, enabling

organizations to achieve greater agility, flexibility, and efficiency. 



webMethods Adapter - An adapter is a pre-built plugin to connect to a target system, to access its data, execute certain remote operations and more. webMethods has a suite of adapters

         Adapter for Apache HBase

         Adapter for Apache Cassandra

         Adapter for Apache Kafka

         Ariba Supplier on Ramp

         AS/400 Adapter

         BigData Driver

         Content Integration Adapter

         EntireX Adapter

         Adapter for Enterprise JavaBeans

         Adapter for HDFS

         Adapter for IBM Power

         Adapter for JDBC

         Adapter for JMS

         Lotus Notes Adapter

         Package for Microsoft .NET

         Adapter for MongoDB

         MSMQ Adapter

         Adapter for OFTP

         OnRamp for Commerce One MarketSite Adapter

         Adapter for OPC

         Oracle Applications Adapter

         PeopleSoft Adapter

         PeopleSoft EnterpriseOne Adapter

         Remedy Adapter

         Adapter for Salesforce

         SAP Adapter

         Siebel Adapter

         SOPERA Adapter

         Tamino Adapter

         Adapter for Terracotta DB

         Tuxedo Adapter

         WebSphere MQ Adapter

         X.400 Adapter

         XI Adapter




 


Friday, August 23, 2024

WSO2 for Integration

 WSO2 is a middleware vendor that sells open source API management software, has the ability to access all types of data, real-time streams and events, allows users to efficiently design, deploy and maintain APIs. 





Main WSO2 products

1) WSO2 Enterprise Integrator (WSO2 EI): It contains message brokering, visual tools, integration runtimes, business process modeling and analytics tools. has graphical interface and drag-and-drop interface. 

2) WSO2 Enterprise Service Bus (WSO2 ESB): ESB addresses integration standards and provides support for all integration patterns, enables interoperability between various business applications and heterogenous systems.

3) WSO2 Identity Server (WSO2 IS): access management; manage the identity, security and privacy of a digital business.

4) WSO2 API Manager: it is like google apigee and IBM app-connect, it is a full lifecycle API management solution, incorporating a Kubernetes operator that makes it easy to convert raw microservices into managed APIs. can run anywhere (on-premise, private cloud, hybrid cloud)

5) WSO2 IoT Server: provides a complete solution that allows the connection and control of various devices, creation of apps, securing of devices and data, visualization of sensor data and event management.

6) WSO2 Data Analytics Server (WSO2 DAS): allows users to benefit from business operations information in real time. Geolocation capabilities, provide analysis of past and present processes.


WSO2 API management software

APIGEE
Rafie Tarabay
Technical Consultant
eng_rafie@mans.edu.com
What is APIGee?
Platform to manage APIs
Create a proxy layer between backend services and Consumer
Consumer has to call proxy service to get backend response
Client can’t access backend directly for security reasons
Provide monitor, analysis for APIs usage
2
APIGee versions
Apigee has different flavors:
1) Apigee Edge: Old name before Google acquisitions. it has two versions
1.1) Apigee Edge for Public Cloud: Cloud Version
1.2) Apigee Edge for Private Cloud: on-premises Version
2) Google Apigee X: Current google version, it has two versions
2.1) Apigee: run as a SAAS on google cloud
2.2) Apigee Hybrid: run on-premises or in another cloud provider, has a management plane
that runs in Apigee's cloud.
3
Apigee lifecycle:
APIGEE
1. Design: define all swagger endpoints using OPEN-API Specification (OAS)
2. Develop: API Proxy
3. Secure: Apply on API proxy to make:
Traffic management (Quota, Spike Arrest)
Security using (API Key, JWT, Oauth 2.0,…)
4. Publish: deploy API proxy to allow accept requests
5. Scale
6. Monitor: view/download usage data includes (API health,operation, response time, country)
7. Analysis
4
5
How to configure google
Create Google Project
Create Apigee Organization with the following components:
Environment
Environment Group
API Product
API Proxy
Developer
APP
6PRESENTATION TITLE
Apigee.google.com/setup
Google Cloud
Google Cloud can contain many projects.
each GCP project can map to 1 Apigee X Organization only.
PRESENTATION TITLE 7
APIGee Limitations
8
Max 50 API Proxy per Environment.
Max 85 Environments per APIGee Organization.
Only 1Google Cloud Project can map to 1Apigee X Organization.
Max 4250 API proxy deployment units per APIGee Organization
Max 100 API products per app
Max 5000 API products per organization
https://cloud.google.com/apigee/docs/api-platform/reference/limits
APIGee components
API Proxies move to running state once it is deployed to Environment
Environment are grouped together in Environment Groups
Environment Groups can contain One or More Hostnames
API Product is a collection of API proxies with Quota Settings
Developer should create App to subscribe to One or More API Product
Developer can register to Developer Portal to create App
9
Relation Between APIGee Components
Developer can create One or more Apps
APIGee Organization can have One or More Developer
APIGee Organization can have One or More Environment Groups
APIGee Organization can have One or More API Products
API Product can have One or More API Proxy
Environment can be part of One or More Environment Groups
10
API PROXY
For Apigee
12
PRESENTATION TITLE 13
Reverse Proxy by default pass all parameters from call to backend.
PRESENTATION TITLE 14
PRESENTATION TITLE 15
PRESENTATION TITLE 16
PRESENTATION TITLE 17
PRESENTATION TITLE 18
PRESENTATION TITLE 19
PRESENTATION TITLE 20
PRESENTATION TITLE 21
APIGee Traffic Management
Spike Arrest: Control number of calls from All customers to API per Sec/or Min.
Per second maximum: 1000
Per minute maximum: 60000
Use effective Count: true, [Smooth the traffic]
means: (if we allow 10 requests per min, this option will allow only 1 request every 6 seconds)
Quota: Control number of allowed calls from customer per week/or month.
Max Quota Interval 1 year
Min Quota Interval 1 minute
The best location for traffic management control is ProxyEndpoint Request PreFlow
22
FLOWS
Controlling how a proxy executes
In a proxy endpoint, a PreFlow is a great place for security and quota policies.
PostFlow: A good place to log data, send a notification, sets headers of the response.
PostClientFlow (proxy flow only): A flow for logging messages after a response is returned to the client.
Conditional flow: You cannot have separate conditions for request and response. Only one conditional flow is
executed--the first flow whose condition evaluates to true. ex: if request from Mobile convert XML to JSON.
24
<PreFlow> it have <Request> and <Response> as a child elements
<Request> holds the policies to execute during request
<Response> holds the policies to execute during response
<Flows> contains zero or more <Flow> element, but only one Flow will
execute, you can define default flow if none of flows evaluates to true. Default
flow will not have conditions.
25
Proxy Configuration
You can download your proxy configurations so that you can
edit them on a local machine. When you're done, you then
upload the results to Edge.
26
POLICIES
Enhance flow behaviour by build in functionlities
Policies
Enhance flow behaviour by using build in functionality like
security, rate limit, message transformation.
We can configure these policies using
API Product
28
To Force Policies
API Product will force the Quota
Apps will force the API Key and Expire date (Security)
API Product is a collection of API proxies with
Quota Settings
Apps contains a collection of API Products with
API Key and Expire date
29
PRESENTATION TITLE 30
PRESENTATION TITLE 31
RafieApiProduct
PORTAL
Developer portal solutions
Apigee supports several developer portal solutions to inform
developers about available APIs and how to use them.
35
Choose your developer portal solution
36
Build a Drupal-based portal
Using the Drupal portal development tools to build a fully
customizable developer portal with all CMS capabilities of
Drupal with additional Apigee-developed Drupal modules.
Apigee and hybrid support Drupal 10, which provides a reliable
open-source, enterprise-level content management system
(CMS).
37
https://cloud.google.com/apigee/docs/api-platform/publish/drupal/open-source-drupal
HOW TO BUILD API
MARKETPLACE?
APIGee Limitations
Google Project
APIGee Org
Environment
API Product
API Proxy
Quota/month
Apps
API Key Expire Date
Apps
API Key Expire Date
Apps
API Key Expire Date
API Provider API Consumers
External API Spike Arrest
39
Max 50 API Proxy per Environment.
Max 85 Environments per APIGee
Organization.
Only 1Google Project to 1Apigee
Organization.
Max 4250 API proxy per APIGee
Organization
Max 100 API products per app
Max 5000 API products per organization
Steps of Creating New API-Provider
1. Create new Google Project with each API-Provider.
2. Create new APIGee Organization for each API-Provider.
3. Create new API Reverse Proxy for each external API.
4. Create new API product with monthly quota for each monthly
price plan.
5. Protect External API by limit the total traffic that can hit it per
Second/Minute using Spike Arrest.
40
How many APIs Proxy needed if these APIs have the same price rate?
One API Proxy can be enough and just make reverse proxy to
https://dummy.restapiexample.com/api/v1/
41
Create New API Consumer
Define new APPs with API-Key and 1 month expire Date target
the API product with the correct monthly quota.
42
THANK YOU
APIGEE
43