Skip to main content

A Python library for communicating with Cognex In-Sight vision systems. Wrapper of the native commands

Project description

📷 🐍 CognexNativePy 🐍 📷

CognexNativePy is a Python wrapper for the Cognex native mode commands. It provides a simple and intuitive wrapper to interact with Cognex cameras. It's based on the Cognex native mode commands, which can be found in Cognex Documentation Website.

Table of Contents 📜

Installation 🚀

Using pip 🐍

To install the library using pip, run the following command:

pip install CognexNativePy

Manual Installation 📦

To use this library in your project, first download the repository and place the CognexNativePy folder in your project's directory. You can then import the NativeInterface class from this library to interact with the Cognex camera. See Usage section for an example.

Usage 📚

The NativeInterface class provides four categories of commands: exectution_and_online, file_and_job, image, and settings_and_cell_value. Each category corresponds to a set of related commands as documented in the Cognex Documentation Website.

Each command category is an attribute of the NativeInterface class, allowing you to easily access and execute the commands you need for your specific use case.

Example of how to use the wrapper:

from CognexNativePy import NativeInterface


def main():
    try:
        # Create a socket connection to the Cognex In-Sight vision system and log in
        native_interface = NativeInterface('192.168.56.1', 'admin', '')
        execution_and_online = native_interface.execution_and_online
        file_and_job = native_interface.file_and_job
        image = native_interface.image
        settings_and_cells_values = native_interface.settings_and_cells_values

        # Load the job if it is not already loaded
        job_name = "1myJob.job"
        if file_and_job.get_file() != job_name:
            if execution_and_online.get_online() == 1:
                execution_and_online.set_online(0)
            file_and_job.load_file(job_name)

        # Get the last image from the camera and save it as a BMP file
        with open('image.bmp', 'wb') as f:
            f.write(image.read_image()["data"])

        # Get the value of the cell B010 (spreadsheet view)
        print(settings_and_cells_values.get_value("B", 10))
        # Set the value of the cell D019 (spreadsheet view) to 53
        settings_and_cells_values.set_integer_value("D", 19, 53)
        # Set the value of the symbolic tag "Pattern_1.Horizontal_Offset" to 69.3 (EasyBuilder view)
        settings_and_cells_values.set_float_value("Pattern_1.Horizontal_Offset", 69.3)
        # Get the information of the settings and cells values
        print(settings_and_cells_values.get_info())

        # Close the socket connection
        native_interface.close()

    except Exception as e:
        print(f"Error: {e}")


if __name__ == '__main__':
    main()

Contributing 🤝

If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome.

License 📝

License: MIT

Known Issues 🐞

Cognex Models : In-Sight 3805 and In-Sight 2800 seem to have issues with the current implementation. The In-Sight Explorer software is unable to emulate these models, so it is difficult to debug the issues. If you have access to these models, please test the library and suggest fixes for the issues.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cognexnativepy-1.0.8.tar.gz (15.8 kB view details)

Uploaded Source

Built Distribution

CognexNativePy-1.0.8-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file cognexnativepy-1.0.8.tar.gz.

File metadata

  • Download URL: cognexnativepy-1.0.8.tar.gz
  • Upload date:
  • Size: 15.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.19

File hashes

Hashes for cognexnativepy-1.0.8.tar.gz
Algorithm Hash digest
SHA256 6be347219fc83d024dd8de454d2a26f0344fabd9dcb0e2a2ed68dc71072245b1
MD5 9631f04168ad6733c2e61ec41c029c81
BLAKE2b-256 0ceef64f62ed74dad9a7ce1aa01a72ddf08b9cbbdc985f26476b40ff25e7641e

See more details on using hashes here.

File details

Details for the file CognexNativePy-1.0.8-py3-none-any.whl.

File metadata

File hashes

Hashes for CognexNativePy-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 ba811a6d9c243185f586b7e7f94f31a24834d2235c7e634bff82cc4881f5c632
MD5 faa01ef6cfb1c6226c3328207e4c3aea
BLAKE2b-256 8a7129900ad0e66e7f77c8e93641390e83d979032cb4451acf6a575036c0a5f7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page